Estos dos artículos indican que el búfer frontal fuera de la pantalla es parte del modelo de controlador de Windows Vista/7 (WDDM).
http://www.opengl.org/pipeline/article/vol003_7/
Es probable que ni siquiera apagar el DWM solucione estos problemas, dado que el búfer frontal fuera de la pantalla es un requisito del modelo del controlador en sí.
Está ampliamente documentado que Desktop Window Manager (DWM) compone los buffers frontales para renderizarlos en la pantalla.
Mi pregunta es la siguiente: si se utilizan los buffers frontales fuera de la pantalla, ya sea que DWM esté habilitado o no, ¿qué realiza la operación de composición cuando DWM está habilitado?desactivado?
También estoy buscando buenas referencias sobre cómo se comporta Windows 7 cuando DWM está deshabilitado. ¿Simplemente vuelve al modelo de ventana apilable de XP?
Respuesta1
El modelo de ventana apilable desapareció. Vista y versiones posteriores utilizan un modelo de escritorio compuesto
Recuerdo estas discusiones cuando apareció Vista por primera vez. Intentaré dar lo mejor de mi. Deberías buscar en Google estos temas con Vista en lugar de Windows 7.
Está ampliamente documentado que el Administrador de ventanas de escritorio (DWM) compone los buffers frontales para renderizarlos en la pantalla.
Mi pregunta es la siguiente: si se utilizan los buffers frontales fuera de la pantalla, ya sea que DWM esté habilitado o no, ¿qué hace la composición cuando DWM está deshabilitado?
Puedes verlo por ti mismo. Apague Aero y cambie a Básico. Ahora está ejecutando sin el DWM. Boom, nada de DWM. Pero si intentas escribir en la memoria de la tarjeta gráfica, ¿qué sucede? La mayoría de las veces te redirigen a los buffers fuera de la pantalla, a menos que seas un programador experimentado. En ese caso, no estarías haciendo esta pregunta. Y sabrías lo que pasa
La razón por la que todavía se utiliza el búfer frontal fuera de la pantalla es porque los conductores ya no tienen control de los búferes frontales. El búfer frontal está virtualizado. Esto concierne a GDIYDirectX. Es como si el motivo de un administrador de memoria virtual fuera porque ya no se le permite escribir directamente en la memoria física. De ahí la razón por la que es necesario un búfer fuera de la pantalla.
Aprendí la mayor parte de esto mientras aprendía WPF, ya que, bueno, DWM en muchos sentidos es solo una gigantesca aplicación WPF. Ambos utilizan DirectX y MIL para componer sus respectivos espacios de trabajo. Comenzaría con algunos de los artículos de Technet sobre Vista y WPF. Los cambios en DVM y DDK en Windows 7 son menores y realmente no conciernen a su pregunta.
Espero que todo eso tenga sentido.