Was verursacht den Windows XP Lagscreen-Renderfehler?

Wir alle kennen die Situation, wenn ein Programm oder das Betriebssystem selbst eingefroren ist und Sie nur mit den Millionen von Dialogen malen können, die das System rendert. Ich spreche darüber (Demo hier):

Windows Lagscreen

Warum passiert das? Und warum treffe ich mich immer nur unter Windows XP damit? Tritt dies nicht unter Linux, Mac oder anderen Windows-Versionen auf? Wenn nicht, warum? Hat dieser Fehler überhaupt einen offiziellen / allgemeinen Namen?

Author: Journeyman Geek, 2013-08-08

1 answers

Das heißt ein "Geisterfenster" . Was passiert, ist, dass der Prozess hängt oder blockiert wird und daher nicht auf die Paint-Nachricht reagieren kann, um sein Fenster zu aktualisieren. Um mit dieser Situation umzugehen, übernimmt Windows das Fenster und malt es, bis das Programm erneut reagiert und sich selbst malt (oder getötet wird oder abstürzt).

In älteren Windows-Versionen wurde ein eingefrorenes Fenster mit seiner Hintergrundfarbe fest gemalt, aber in XP macht Windows einen Screenshot des Fensters, wie es war das letzte Mal wurde es aktualisiert und verwendet es, um es zu malen. Wenn Teile des Fensters abgedeckt sind (z. B. wenn Sie es vom Bildschirm ziehen), kann Windows es natürlich nur mit der Hintergrundfarbe malen (weshalb es nach dem Ziehen vom Bildschirm in alle Richtungen völlig leer bleibt).

Wenn Sie außerdem andere Fenster darüber ziehen, hinterlassen sie eine Spur, da das eingefrorene Fenster nicht auf die Paint-Nachricht reagiert, wenn ein Teil davon aufgedeckt wird.

In Vista+, Windows malt immer noch Geisterfenster wie in XP, aber es verwendet einen Trick, um das Fenster so aussehen zu lassen, als wäre es bis zu einem gewissen Grad noch am Leben; Sie können es immer noch bewegen und minimieren, ohne das zuletzt aktualisierte Bild zu verlieren oder den Hall-of-Mirrors-Effekt zu erzielen. Was es jetzt tut, ist, das eigentliche gefrorene Fenster auszublenden und es durch ein neues, temporäres Fenster zu ersetzen, das in der gleichen Größe und Form wie das gefrorene Fenster erstellt wird. Das neue Fenster ist mit einem Screenshot des gefrorenen Fensters gemalt, aber mit einem blassen Weiß-Waschen. Jetzt, wenn Sie andere Fenster darüber ziehen, behält es das ursprüngliche (gespenstische) Bild bei, da es nicht wirklich eingefroren ist.es verarbeitet die Paint-Nachricht, indem es den gespeicherten Screenshot malt.

Microsoft-Mitarbeiter Raymond Chen und [[15]}Matt Eason haben es gut abgedeckt.

Natürlich Mac, Linux usw. alle behandeln das Zeichnen und Verwalten von Fenstern auf ihre eigene Weise, sodass sie auf verschiedene Arten auf eingefrorene Fenster reagieren.

 6
Author: Synetech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-09 01:32:10