glReadPixels on nVidia cards


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?

Thanks for any information!


  • Torgeir :slight_smile:


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.

ā€“ Niels

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.


I time the function right - i.e. I call glFinish before the call to glReadPixels and again before timing the call.

ā€“ Niels

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.