Blitting vs. Page flipping

Is there any way that anyone knows of in Win32 to force OpenGL to use blitting rather than page flipping? That is, outside of just changing my own driver’s setting (as I want to be able to distribute my app).

In windowed mode, it uses blitting and my special effect I’m doing works just fine. But when I switch to full-screen mode, it uses page flipping which ruins the effect I’m trying to achieve.


You can do this manually if you render to a texture and then blit the results to a windows DC.

Otherwise, there must be something implementation specific about your code that makes flipping screw up the effect. Flipping is 1,000,000 times quicker than blitting (I might exaggerate somewhat).

You can request it in your PIXELFORMATDESCRIPTOR by adding PFD_SWAP_COPY in your dwFlags section. However, windows does not have to give you it. It’s odd though that you would want to force it to copying. Page flipping generally improves performance. Maybe you should revisit how you do your special effects to make it work with or without page flipping.