Поиск:

Ответ в темуСоздание новой темы Создание опроса
> особенности програмирования графики, ddraw 
:(
    Опции темы
oleg1973
Дата 6.4.2004, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



ddraw
мне стало интересно как будет быстрее работать с бекбуфером в видео памяти или со своим в оперативке , потом копировать в бекбуф и флипать в primarysurf?
в теории что получаем
при обновлении картинки на экране нада уложится в некий промежуток Х обратного хода луча
но если к примеру мы слишком долго чтото рисовали в бекбуфере то при flip директ драв как умная система будет ждать обратного хода луча
таким образом пролетаем на 1 кадр к примеру и плюс ко всему держать в lock бекбуфер тоже не есть хорошо
если мы имеем свой буф в оперативке
рисуем там скока влезет
по окончанию рисования делаем lock бекбуфера в видеопамяти , копируем туда свой буф
и flip
в данном варианте всегда попадем в нужный кадр smile.gif
ддрав не будет терять сурфейс (кто знает тот поймет)
тоесть пока мы рисуем там себе он свободен smile.gif
скорость пересылки данных я так похимичил
на асме 2 такта на 4 байта (если справочник не врет smile.gif )

кароче поправте если не прав smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 6.4.2004, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: нет
Всего: 112



Ну дак ждем результатов замеров FPS одного и тоге же теста, реализованного сказанными двумя способами...

Ну я посчитал так:
1280x1024x32 ~ 5 Mb, movsd такого объёма у меня затягивается на 20 мс.
Т.е. если обеспечить 50 FPS, то всё 100% время проца уйдет на пересылку данных...
Правда, следует сказать, что я делал пересылку из ОП в ОП, а не в back-буфер. Но даже если и будет быстрее раза в 2-3, то всё равно, 30-50% времени проца будет сжираться перекидыванием байтиков (для FPS=50).


--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 6.4.2004, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



интересно за сколько бекбуф видео карты перекидывается?
а как ты замерял скорость ?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 7.4.2004, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: нет
Всего: 112



Цитата
интересно за сколько бекбуф видео карты перекидывается?

Проверь, долго ли тебе это сделать ? Чем гадать-то. По-моему, вот у меня DDR400 на видях, а память DDR какая-то одна из первых. Думаю при перекидывании в бэкбуффер было бы раза в 2 быстрее, но это максимум...

Замерял на Delphi:
Код

size := 1280*1024*32 div 8;
QueryPefromanceFrequency(freq);
QueryPerfomanceCounter(tim1);
Move(buf1^, buf2^, size);
QueryPerfomanceCounter(tim2);
time := ((tim2 - tim1) * 1000) div freq; - будет в милисекундах

Если боишься за Move - то зря, он там умный, вначале делит размер на 4 и делает movsd, остаток уже добивает movsb, так что потери тут микроскопические...



--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.