Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб окт 21, 2017 12:31 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 23 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 11:01 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Думаю что оправдано. Ещё думаю что не надо было делать такой универсальный блиттер, хватило бы 8, 24 и 32 bpp. И можно на порядок ускорить функцию если для верхнего окна рисовать без проверки принадлежности пикселя.


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 2:51 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Сделал несколько тестов Пентиум 4 2.6 ГГц
Код:
   1024x768x32 время в тактах

 24 bpp     32 bpp     32 bpp movnti

69E412A0   6957A6EC   692ACB40
69D14E60   6955F3D8   69197DB0
69E58298   6944330C   692E3B38
69E60C10   6958D6C0   693DB21D

пропускная способность 4.4 Mb/c
Доступ к видеопямяти действительно очень медленный. На сохраниние кадра уходит 0.68 с.

Лучший вариант - если функция будет сохранять картинку в формате экрана с выравниванием длины строки на 16 или 32 байта (под будущий AVX)

Ещё интересно потестить ф.65

Кстати ф.36 грабит экран вместе с курсором.


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 3:00 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Serge
Цитата:
Кстати ф.36 грабит экран вместе с курсором.

Меня давно интересовал вопрос, а если курсор аппаратный, будет ли он так копироватся?


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 3:28 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
От Mario79:
Serge: я буду дорабатывать функцию
Ghost: нет, не будет


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 4:43 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Предыдущие тесты конечно не совсем точные потому что прерывания не маскировались.
Но если чтение из видеопамяти упрётся в 10Мб/с при чтении movdq/movups то вероятно самым быстрым вариантом будет просто перерисовать часть экрана.
Есть ещё радикальный вариант с shadowfb. Сделать для видеопамяти кеш со сквозной записью. Скорость чтения должна возрасти на пару порядков. Ещё это решает старую проблему с курсором и ускоряет все операции с курсором. В минусе большой расход памяти и некоторое снижение скорости на записи.


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 5:59 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Попробуйте вот это.
P.S. Расширение asm запрещено администратором. (((


Вложения:
Комментарий к файлу: Пример из AMD Athlon™ Processor x86 Code Optimization Guide (Part.No 22007).
memcpy.asm.txt [7.46 КБ]
181 скачивание
Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Ср ноя 19, 2008 6:48 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Сделал ещё два теста. Чтение из видеопамяти это зло !
Максимум что удалось выжать на чтении из movdqa/movntdq 5.47 Мб/с. На записи получил 144 Мб/с без оптимизации.


Вернуться к началу
 Заголовок сообщения: Re: Новая функция: #36
СообщениеДобавлено: Чт ноя 20, 2008 9:20 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Mario79 wrote:
Serge
Даже текущей реализации хватает для элемента управления типа MENU, даже на слабых машинах вроде P100 (разумеется не считая того что нужно отключить курсор). Когда я делал функцию, я всего лишь хотел убрать кучу вызовов от приложения к ядру, которые бы дико тормозили, если использовать 35 функцию. Для других примений разумеется нужны другие подходы, а так вполне хватает.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 23 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB