Apparently, Desktop Composition can no longer be disabled in Windows 8 for applications that were not written with Desktop Composition in mind. Ours previously rendered GDI graphics on top of OpenGL graphics, which worked only with Desktop Composition was disabled for Windows Vista and Windows 7. The application has since been rewritten in anticipation of Windows 8, so that all graphics are presented through OpenGL, and the graphics display cleanly with Desktop Composition enabled.
However, there is a flash (occupying the whole screen) of a remnant of a previous CView derived instance, which has no OpenGL in it, but was drawn with GDI graphics exclusively. This flash appears just before displaying the CView derived instance which has an OpenGL view mapped to it. This is disturbing. It seems that the GDI graphics drawn window is leaving remnants of its contents in the desktop composition buffer, which the OpenGL view is flashing before its drawing code is messaged.
Our application was recently ported to Visual Studio 2010, and I cannot find features which would go with Windows 8. Therefore, I'm assuming that there is either something in the Desktop SDK, or something in Visual Studio 2012 which I need to become aware of. Or perhaps it has been overlooked and I'm bringing this to someone's attention for the first time.
My question is: is there some way of clearing the desktop composition buffer or ignoring it so that transition effects can be blocked from interfering with view switching?