SwapBuffers in Windows 8

Is there a way in Windows 8 to disable the Windows compositor (DWM), and run an OpenGL application such that when I call *SwapBuffers()/glFinish(), the GPU will immediately start scanning out from that new frame on the next GPU frame scan-out?

Reason I ask: I’m considering buying Windows 8 for home use. At work, we use Win 7. On Win 7, disabling the compositor is as simple as Desktop -> Personalize -> Select “Windows 7 Basic” theme. But in Windows 8, it sounds like you “may” have to resort to unsupported hackery such as suspending winlogin, killing the DWM process, restarting explorer, and such. Is there some more straightforward way to get rid of the added display latency and performance waste of that silly compositor on Windows 8?

Thanks in advance for any tips, no matter how tangentially related! I’m pretty new to OpenGL devel on Windows :-).

I don’t know if it will work on Windows 8, but on Windows 7 the DWM disables automatically if you use a PixelFormat that supports quad-buffered stereo. (Of course this requires stereo capable hardware :wink:

IIRC stereo-capable hardware means a Quadro. Alas, I’m running a high-end GeForce. Thanks anyway!

I have not checked with Windows 8 yet, but if you have 3D Vision glasses with your GeForce, the “NVIDIA 3D Vision Video Player” is capable of activating stereo. I quess it is some DX or NVAPI stuff that does it for 2D canvases, but it should also disable the DWM. (Just found something: google for the NV_STEREO_IMAGE_SIGNATURE trick)

If you run a fullscreen context you shouldn’t need to disable the DWM; Windows should detect this automatically and give you an exclusive mode which bypasses the DWM. This is explicitly set under D3D but OpenGL should be able to infer it from your window creation parameters (i.e no border, WS_POPUP, etc).

If you’re running a windowed context then you’re stuck with the DWM and this applies to both GL and D3D.

Ok, thanks guys. I appreciate the info!

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.