Vista Fullscreen Windows and OpenGL

In the vista-related articles of a recent pipeline-newsletter ist said that vista disables the desktop window manager when detecting a fullscreen application. Since, in the same newsletter, it says windowed quad-buffer stereo is not supported on vista (because of DWM), I figure I have to have a fullscreen window (at least until MS fixes that, if ever). So much about my motivation…

Now here are my questions:

  1. Does anybody know how vista actually determines that an application is fullscreen? Is it enough to create a top-level window without border and make it cover the whole screen?

  2. What happens when vista is running with multiple displays? Is it enough for one window to cover one screen to make vista disable DWM? Or will that happen only when the whole desktop is covered? Or in other words: Will vista disable DWM when e.g. Doom3 runs fullscreen on one of two displays? And if yes: will the other display have DWM enabled or disabled?

  3. Would quad-buffer stereo work on one of two displays, while DWM is enabled on the other?

Unfortunately, I do not have a vista machine to test this myself, and I would certainly like to know if it is worth the effort before I go and get myself one.

I searched the web and the OpenGL.org forums, but could not find anything about this, so sorry if this is a repost.

Thank you in advance!

1.) I tried it out recently and found out, that you have to disable the DWM manually. It won’t stop automatically. You’ll have to call DwmEnableComposition(0) (or similar) yourself. The OpenGL window initialisation on windows is anyway skrewed IMHO, DirectX has much nicer approach.

Thank you, Zengar. That helped!

Looks like DwmEnableComposition disables DWM on the whole desktop, so its all or nothing. Once again, MS didn’t think far enough.

Thanks!

Well, the compositor needs a lot of resources, I don’t think one can do much about it, Microsoft or not… still Microsoft was never good at optimising their software.

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