Ok, one using a pbuffer/glcopyteximage2d, and one using glreadpixels/glteximage2d, which one should be faster? you’d think the pbuffer/glcopyteximage2d one would be faster, but NO! The glreadpixels/glteximage2d one is faster (even though it’s passing the pixel data through the system memory).
Originally posted by jra101: Are you using any odd extensions?
On the pbuffer one, the only extensions are wgl_arb_pixel_format and wgl_arb_pbuffer, but on the other one, no extension is used (it should even work with software opengl)
Do you have a Radeon? I think that glCopyTexImage2D still copies data to system memory and then back to the video card. Only the GeForce card has keeps it in video memory, as far as i know anyways.
One thing you might try with pbuffers and glCopyTexImage2D is to only use glCopyTexImage2D the first time you capture from the frame buffer (this initializes the texture object) and then from then on use glCopyTexSubImage2D to update your existing texture object.
Originally posted by jra101:
[b]Do you have a Radeon? I think that glCopyTexImage2D still copies data to system memory and then back to the video card. Only the GeForce card has keeps it in video memory, as far as i know anyways.
One thing you might try with pbuffers and glCopyTexImage2D is to only use glCopyTexImage2D the first time you capture from the frame buffer (this initializes the texture object) and then from then on use glCopyTexSubImage2D to update your existing texture object.