I would like to pan or scoll a very complex and static scene (and preferably without hardware acceleration requirement). Panning should be smooth and without flicker.
In case of a double buffer updates are too slow, because it takes some time to render the whole scene and then swap the buffers. The result is that scrolling is not smooth. Bad…
If case of a single buffer updates are much faster, however there is ugly flicker because you can see how all geometry is redrawn. Bad…
The third solution and in my opinion the one that should work is to ‘bitblt’ or copy portion of the screen image that was not hidden by translation and then render only new areas of the sceene (again with single buffer). I guess, theoretically this should make panning both smooth and fast.
BUT, when I implemented this using glCopyPixels(), the performance of this function was terrible. You can actually see very slow update on the screen. Also, I followed tips for improving pixel drawing rates from the RedBook 3rd ed. (pg. 324)(default pixel zoom, disabling all fragment ops., disabling lighting and texturing…)
My question: is it possible that even without hardawre acceleration image ‘bitblt’-ing/copying is so slow, or I am doing something wrong ?
Does anybody has a better solution?