¿Qué causa que falle el renderizado de la pantalla de Windows XP?


6

Todos conocemos la situación cuando un programa o el sistema operativo en sí se congelaron y lo único que puede hacer es pintar con los millones de diálogos que representa el sistema. Estoy hablando de esto ( demostración aquí ):

Windows lagscreen

¿Por qué pasó esto? ¿Y por qué siempre me encuentro con él solo en Windows XP? ¿No ocurre esto en Linux, Mac u otras versiones de Windows? Si no, ¿por qué? En realidad, ¿este error tiene un nombre oficial / común?


Me pasó hoy con X11. :)
Blauhirn

Respuestas:


5

Eso se llama una "ventana fantasma" . Lo que sucede es que el proceso se bloquea o se bloquea y, por lo tanto, no puede responder al mensaje de pintura para actualizar su ventana. Para manejar esta situación, Windows se hace cargo y pinta la ventana hasta que el programa vuelve a responder y se pinta (o se mata o se bloquea).

En versiones anteriores de Windows, una ventana congelada se pintaba de color sólido con su color de fondo, pero en XP, Windows toma una captura de pantalla de la ventana como era la última vez que se actualizó, y la usa para pintarla. Por supuesto, si partes de la ventana están cubiertas (como si la arrastra fuera de la pantalla), Windows solo puede pintarla con el color de fondo (es por eso que después de arrastrarla fuera de la pantalla en todas las direcciones, termina completamente en blanco).

Además, cuando arrastra otras ventanas sobre él, dejan un rastro porque la ventana congelada no responde al mensaje de pintura cuando se descubre parte de ella.

En Vista +, Windows todavía pinta ventanas fantasmas como en XP, pero usa un truco para hacer que la ventana parezca que todavía está viva hasta cierto punto; aún puede moverlo y minimizarlo sin perder la última imagen actualizada u obtener el efecto de salón de espejos. Lo que hace ahora es ocultar la ventana congelada real y reemplazarla con una ventana nueva y temporal que tenga el mismo tamaño y forma que la ventana congelada. La nueva ventana está pintada con una captura de pantalla de la ventana congelada, pero con un lavado blanco pálido. Ahora, cuando arrastra otras ventanas sobre él, retiene la imagen original (fantasma) porque en realidad no está congelada; procesa el mensaje de pintura pintando la captura de pantalla almacenada.

Los empleados de Microsoft Raymond Chen y Matt Eason lo cubrieron bien.

Por supuesto, Mac, Linux, etc., todos manejan el dibujo y la administración de ventanas a su manera, por lo que responden a las ventanas congeladas de diferentes maneras.


1
Para el registro, les agradará saber que Mac OS X 10.9 aka Mavericks ahora incluye esta característica: d.pr/i/Pe4U+
Gregoire D.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.