We are doing some post processing of our frame buffer. We have a screen of 640x480 and are running on an ONYX2 Infinite Reality.
When we do the glCopyPixels to apply the effects, it takes about 10ms to complete, regardless of how many of few effects we are applying.
(copyPixels returns straight away, but it takes about 10ms to complete the process).
Is this normal? Can we make it faster? (We have tried disabling all of the obvious features but had no improvement).
Help would be very much appreciated.
Framebuffer access has always been slow. When you want to access the framebuffer, that requires the transfer of memory from the hardware card into the memory on the ONYX2. With the advance of AGP it has helped speed things up. What I don’t understand is why it takes 10ms to copy only 640x480xbpp bits over a 64bit bus on an ONYX2.
You should make sure you have the latest drivers for your SGI beast. An older version might support copy pixels, but they might not have optimized it completely. You should also consult the specs for your driver/hardware to see what you might be doing that makes the framebuffer access slow down or what you can do to speed it up.