O que acontece com os buffers frontais fora da tela no Windows 7 quando o DWM está desativado?

1

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 a troca do DWM pode consertá-los, uma vez que o   O buffer frontal fora da tela é um requisito do próprio modelo de driver.

http://blogs.msdn.com/b/greg_schechter/archive/2006/05/02/588934.aspx

É amplamente documentado que o Desktop Window Manager (DWM) compõe os buffers frontais para renderização na tela.

Minha pergunta é: se os buffers frontais fora da tela forem usados, quer o DWM esteja ativado ou não, o que executa a operação de composição quando o DWM é Desativado ?

Eu também estou procurando por boas referências sobre como o Windows 7 se comporta quando o DWM está desabilitado. Será que apenas recorre ao modelo de janela de empilhamento do XP?

Cooper
fonte

Respostas:

1

O modelo de janela de empilhamento desapareceu. Vista e até usar um modelo de área de trabalho composta

Lembro-me dessas discussões quando o Vista apareceu pela primeira vez. Eu vou tentar o meu melhor. Você deve procurar no Google esses tópicos com o Vista em vez do Windows 7.

É amplamente documentado que o Desktop Window Manager (DWM) compõe os buffers frontais para renderização de & gt; para a tela.

Minha pergunta é: se os buffers frontais fora da tela forem usados, quer o DWM esteja habilitado ou não, & gt; o que a composição faz quando o DWM é desabilitado?

Você pode ver por você mesmo. Desligue o Aero e mude para Basic. 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 você 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. Isso diz respeito ao GDI E DirectX. É como se o motivo de um gerenciador de memória virtual ser o fato de você não poder mais escrever diretamente na memória física. Assim, a razão pela qual um buffer off screen é necessário.

Aprendi a maior parte disso enquanto aprendi WPF, pois, bem, a DWM, de várias maneiras, é apenas uma aplicação gigantesca do WPF. Ambos usam o DirectX e a MIL para compor seus respectivos espaços de trabalho. Eu começaria com alguns artigos sobre technet no Vista e no WPF. As alterações no DVM e no DDK no Windows 7 são pequenas e não se referem à sua pergunta.

Espero que tudo isso faça sentido.

surfasb
fonte