Esses dois artigos indicam que o buffer frontal fora da tela faz parte do modelo de driver do Windows Vista/7 (WDDM).
http://www.opengl.org/pipeline/article/vol003_7/
Nem mesmo desligar o DWM provavelmente resolverá isso, visto que o buffer frontal fora da tela é um requisito do próprio modelo do driver.
Está amplamente documentado que o Desktop Window Manager (DWM) compõe os buffers frontais para renderização na tela.
Minha pergunta é a seguinte: se os buffers frontais fora da tela forem usados, esteja o DWM ativado ou não, o que executa a operação de composição quando o DWM está ativado?desabilitado?
Também estou procurando boas referências sobre como o Windows 7 se comporta quando o DWM está desabilitado. Ele simplesmente retorna ao modelo de janela de empilhamento do XP?
Responder1
O modelo de janela de empilhamento desapareceu. Vista e superior usam um modelo de desktop composto
Lembro-me dessas discussões quando o Vista apareceu pela primeira vez. Vou tentar o meu melhor. Você deve pesquisar esses tópicos no Google com o Vista em vez do Windows 7.
Está amplamente documentado que o Desktop Window Manager (DWM) compõe os buffers frontais para renderização na tela.
Minha pergunta é a seguinte: se os buffers frontais fora da tela forem usados, esteja o DWM habilitado ou não, >o que a composição faz quando o DWM está desabilitado?
Você pode ver por si mesmo. Desligue o Aero e mude para Básico. Agora você está executando sem o DWM. Boom, sem DWM. Mas se você tentar gravar na memória da placa gráfica, o que acontece? Na maioria das vezes você é redirecionado para os buffers fora da tela, a menos que seja um programador experiente. Nesse caso, você não estaria fazendo essa pergunta. E você saberia o que acontece
A razão pela qual o buffer frontal fora da tela ainda está sendo usado é porque os drivers não têm mais controle dos buffers frontais. O buffer frontal é virtualizado. Isto diz respeito ao GDIEDirectX. É como se o motivo de um gerenciador de memória virtual fosse porque você não tem mais permissão para gravar diretamente na memória física. Essa é a razão pela qual um buffer fora da tela é necessário.
Aprendi a maior parte disso enquanto aprendia WPF, já que, bem, o DWM, em muitos aspectos, é apenas um aplicativo WPF gigantesco. Ambos utilizam DirectX e MIL para compor seus respectivos espaços de trabalho. Eu começaria com alguns artigos do technet no Vista e no WPF. As alterações no DVM e DDK no Windows 7 são pequenas e não dizem respeito à sua pergunta.
Espero que tudo isso faça sentido.