I am taking screen captures of an OpenGL application in real-time using glReadPixels() and experiencing a performance issue. I've followed the advice provided here:
where samoth had the excellent suggestion to use PBO's, so I implemented his approach based on the information provided here:
This works great on a Windows 7 system with AMD FirePro M5950 graphics and a very old Ubuntu 12.04 system with Radeon RV250 [Mobility FireGL 9000] graphics, but chokes on new Ubuntu 12.04 system with integrated Intel graphics. glReadPixels() takes >600ms to return even though (as I understand it) it should return immediately due to the asynchronous PBO use. I'm using GLEW for the OpenGL extensions and it appears that the graphics drivers support the GL_ARB_pixel_buffer_object extension. Any ideas? somoth mentioned that supplying wrong PBO flags can cause stalls, but i don't know what those might be.
ziashanMember Since 07 Dec 2012
Offline Last Active Jan 20 2013 12:55 PM