Skrivbordsfönstrets hanterare

Innan Windows Vista skulle ett Windows-program rita direkt till skärmen. Med andra ord skulle programmet skriva direkt till minnesbufferten som visas av grafikkortet. Den här metoden kan orsaka visuella artefakter om ett fönster inte ommålar sig korrekt. Om användaren till exempel drar ett fönster över ett annat fönster och fönstret under inte ommålar sig tillräckligt snabbt kan det översta fönstret lämna ett spår:

en skärmbild som visar ommålade artefakter.

Spåret uppstår eftersom båda fönstren ritas på samma minnesyta. Eftersom det översta fönstret dras måste fönstret nedanför det målas om. Om ommålningen är för långsam orsakar den artefakterna som visas i föregående bild.

Windows Vista förändrade i grunden hur fönster ritas genom att introducera Desktop Window Manager (DWM). När Desktop Window Manager (DWM) är aktiverat ritar ett fönster inte längre direkt i visningsbufferten. I stället ritar varje fönster till en minnesbuffert utanför skärmen, även kallat en offscreen-yta. DWM kompositerar sedan dessa ytor till skärmen.

ett diagram som visar hur dwm sammansätter skrivbordet.

DWM ger flera fördelar jämfört med den gamla grafikarkitekturen.

  • Färre omritningsmeddelanden. När ett fönster hindras av ett annat fönster behöver det blockerade fönstret inte måla om sig självt.
  • Minskade antalet artefakter. Tidigare kunde det uppstå visuella artefakter när man drog ett fönster, som beskrivs.
  • Visuella effekter. Eftersom DWM ansvarar för att komponera skärmen kan den återge genomskinliga och suddiga områden i fönstret.
  • Automatisk skalning för hög DPI. Även om skalning inte är det perfekta sättet att hantera hög DPI är det en livskraftig återställning för äldre program som inte har utformats för höga DPI-inställningar. (Vi återkommer till det här avsnittet senare i avsnittet DPI och Device-Independent Pixels.)
  • Alternativa vyer. DWM kan använda offscreen-ytorna på olika intressanta sätt. DWM är till exempel tekniken bakom Windows Flip 3D, miniatyrbilder och animerade övergångar.

Observera dock att DWM inte garanteras vara aktiverat. Grafikkortet kanske inte stöder DWM-systemkraven och användarna kan inaktivera DWM via SystemEgenskaper kontrollpanelen. Det innebär att programmet inte bör förlita sig på omritningsbeteendet för DWM. Testa programmet med DWM inaktiverat för att se till att det ommålas korrekt.

Nästa

behållet läge jämfört med omedelbart läge