--- Aric Cyr Aric.Cyr@gmail.com wrote:
Raphael <fenix <at> club-internet.fr> writes:
On Tuesday 13 December 2005 09:28, Stefan Dösinger wrote:
Am Dienstag, 13. Dezember 2005 04:25 schrieb Aric Cyr:
What is slow with ATI cards? It seems that you should only need basic 3D acceleration to do what you propose. Is fglrx missing something that would be required for 2D rendering?
Texture upload is very slow. glReadPixels, glWritePixels and friends take ages. That means that blt, Lock, and Unlock is really slow. There is some hope at least: Xine and Mplayer can play videos over OpenGL
really fast, maybe we can find out how they do it.
Texture upload is not too bad with the ATI drivers, but gl{Read/Write}Pixels will be horribly slow on most any video card. I would hope that DDraw is using textures and not direct framebuffer writes (which I believe is what Roderick mentioned). Especially, glTexSubImage2D() which should be even faster than glTexImage2D().
ATI's driver are strange, sometimes it's quicker to repack the texture so that it's byte aligned before calling glTexSubImage2D() or glTexImage2D(), another way to inmporve performance is only glReadPixels when the data has really changed and to implement clears &co. against a local buffer. One of the main reasons for the slowness is that the data is being sent over the pci buss and not via AGP. An old ATI driver < 8.18 used double buffering to improve the performance, but turning on double buffering doesn't help with newer drivers.
Oliver.
___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com