Войти
ПрограммированиеФорумГрафика

BitBlt как увеличить скорость? (2 стр)

Страницы: 1 2
#15
18:37, 30 янв. 2010

Тоесть скорость точно такаяже как и у GDI BitBlt, это значит что все равно память копируется из видео памяти в системную.


#16
18:53, 30 янв. 2010

>а memcpy из ddsd.lpSurface в свой указатель
а зачем копировать? притворись что ddsd.lpSurface это твой указатель и юзай его.
тыж наверняка после копирования ченить  делаеш с данными, делай на прямую, мб быстрее будет? или я не прав?

lpSurface -> your_mem -> file
lpSurface -> file

"->" - copy operations, that consumes time

незнаю как там со скоростью сливания данных с видухи, но заливается через PrimarySurface в разы быстрее чем через SetDIBits, BitBlt

#17
19:04, 30 янв. 2010

Asteraceae
Но все равно для того чтобы сохранить данные в виде png их нужно будет прочитать? или нет?

#18
20:04, 30 янв. 2010

lebron
да прочитать, ну и читай прямо с этого указателя, зачем 100 раз копировать? =)

#19
20:08, 30 янв. 2010

Asteraceae
100% Спасибо огромное!!!

#20
20:16, 30 янв. 2010

lebron
> а memcpy из ddsd.lpSurface в свой указатель на память занимает теже 47 мс что и BitBlt в GDI.
Проверь как копирует memcpy, видеокарта плохо относится к 32 битному чтению/записи. В свое время блитил по 64 бита через FPU или MMX, прирост скорости был значительный.

#21
23:11, 30 янв. 2010

doc.
поискал про быстрые способы копирования memcpy, нашел много примеров но быстрей 31 мс у меня 4мб данных не получилось скопировать. Раскажи какой у тебя код функции memcpy?

#22
0:08, 31 янв. 2010

lebron
> Раскажи какой у тебя код функции memcpy?
Да я обычные movq использовал с MMX или fstp для FPU, штук по восемь подряд. Там видать шина 64-х разрядная и в этом случае более эффективно используется.

Посмотри код в 24 и 25 постах:
http://www.gamedev.ru/flame/forum?id=85190&page=2
memcpy от AMD, где то еще тема была где её эффективность замеряли, поищи по форуму.

#23
0:32, 31 янв. 2010

Ок, Спасибо!

#24
3:01, 31 янв. 2010

lebron
еще реализаций быстрого memcpy можно "натырить" из DooM 3 SDK.

Страницы: 1 2
ПрограммированиеФорумГрафика

Тема в архиве.