Have anyone had any better results with glReadPixels than about 13ms per frame at 720x576, which is about 30Mpix per second transfer rate from the card to main memory. (about 120Mb/sec)
(Yes, I need this for video processing in real time)
Iād be interested in any results for any Linux platform that is doing better than this. Why is it so slow?
Get around 155MB/sec on my system - about 10.2 ms/frame (720 x 576). Have you tried to readback using different formats, i.e. RGBA vs. BGRA. Also make sure that you really need 32 bit/pixel.
Do you call glFinish before the call to glReadPixels? This is needed when timing OpenGL functions. In the glReadPixels case do the driver do a glFinish so you would get the time to finish all OpenGL calls added also.
This is a slow function on PCs but I think the new Windows drivers has some new functions that eliminates the need for the driver to do a glFinish before transfering the pixels.