¿Cómo previene Windows Aero el desgarro de la pantalla?

¿Cómo previene Windows Aero el desgarro de la pantalla?

Cuando Windows Aero está activado, no se produce ninguna rotura de pantalla, a diferencia de cuando se utiliza el tema Básico sin Aero.

Sin embargo, ¿por qué los juegos con sincronización vertical parecen tener un retraso de entrada mucho mayor que cuando se hace algo en el escritorio? Incluso parece sincronizar juegos en ventana con V-sync desactivado, mejor de lo que sería si estuvieran usando cualquier método integrado en el juego.

¿Por qué y cómo sucede o parece suceder esto?

Respuesta1

En realidad, la razón por la que Aero puede evitar el desgarro sin tener que forzar VSYNC en una aplicación es porque es un administrador de ventanas de composición. Dibuja el escritorio y todas las ventanas de forma asincrónica con respecto a cualquier aplicación en ejecución.

Es decir, cuando habilitas la composición en Windows Vista/7 (essiemprehabilitado en Windows 8), dibujará todas las ventanas usando una copia de la última imagen que se intercambió de atrás hacia adelante. El compositor (Microsoft lo llama DWM,Administrador de ventanas de escritorio) compone todo con VSYNC habilitado, y porque dibuja usando una copia del últimocompletamente intercambiadoImagen de búfer frontal para cada ventana, nunca muestra marcos parcialmente dibujados. Sin embargo, tiene el desafortunado efecto secundario de impedir que el software realmente antiguo que fue diseñado para extraerse exclusivamente en el búfer frontal funcione correctamente, pero el software moderno no hace esto.

En pocas palabras, el DWM añade una capa adicional de protección contra desgarros. Uno que permitirá que cualquier aplicación que se ejecute en el sistema dibuje a una velocidad independientemente de la frecuencia de actualización de la pantalla y aún así evite el desgarro. En un sistema de este tipo, en modo ventana, lo único que sirve para habilitar VSYNC en OpenGL o Direct3D es en realidad reducir la utilización de CPU/GPU.

Es por eso que se creó VSYNC adaptativo, la idea no es penalizar las aplicaciones que no pueden mantener la frecuencia de actualización de la pantalla obligándolas a utilizar un factor de frecuencia de actualización más bajo (por ejemplo, 60 Hz --> 30, 20, 15, 10, 12). , 6, 5, 4, 3, 2, 1), pero para limitar el uso de una cantidad excesiva de energía de CPU/GPU a las aplicaciones que dibujan más rápido de lo que el monitor puede mostrar imágenes.

Respuesta2

Con Aero habilitado, el Administrador de ventanas de escritorio usadoble buffer:

La función Windows Aero hace un uso extensivo del doble almacenamiento en búfer para dibujar en la pantalla.

Fuente

Wikipediatiene esto que decir sobre cómo se usa con V-sync para evitar que la pantalla se rompa:

Durante el intervalo de borrado vertical, el controlador ordena a la tarjeta de video que copie rápidamente el área de gráficos fuera de la pantalla en el área de visualización activa (doble buffer), o trate ambas áreas de memoria como visualizables y simplemente cambie entre ellas (página voltear).

Respuesta3

El almacenamiento en búfer doble + sincronización V activada no produce desgarros. Resulta que Aero usa esa configuración.

Respuesta4

DWM (la tecnología que habilita el efecto Aero) renderiza todo lo que aparece en la pantalla como una superficie D3D (lo que hace posible que el vídeo siga reproduciéndose en Flip). Esta técnica de renderizado previene automáticamentedesgarrando, aunque el método de juego debería ser mejor que el método genérico DWM (después de todo, es su propio motor). Por lo tanto, es probable que el método de juego no sea tan bueno en primer lugar o no esté optimizado para tu configuración.

información relacionada