桌面視窗管理員

在 Windows Vista 之前,Windows 程式會直接繪製到畫面。 換句話說,程式會直接寫入視訊卡所顯示的記憶體緩衝區。 如果視窗無法正確重繪本身,這個方法可能會導致視覺成品。 例如,如果使用者將一個視窗拖曳到另一個視窗,而下方的視窗的速度不夠快,最上方的視窗可能會留下尾端:

顯示重新繪製成品的螢幕擷取畫面。

因為兩個視窗都繪製到相同的記憶體區域,所以造成尾端。 拖曳最上層視窗時,其下方的視窗必須重新繪製。 如果重繪速度太慢,則會導致上一個影像中顯示的成品。

Windows Vista 基本上藉由介紹桌面視窗管理員 (DWM) 來變更視窗繪製方式。 啟用 DWM 時,視窗不再直接繪製到顯示緩衝區。 相反地,每個視窗都會繪製到螢幕外畫面記憶體緩衝區,也稱為 離線介面。 DWM 接著會將這些表面複合到畫面。

顯示 dwm 如何複合桌面的圖表。

DWM 提供數個優於舊圖形架構的優點。

  • 較少的重新繪製訊息。 當視窗被另一個視窗阻礙時,阻礙的視窗就不需要重新繪製本身。
  • 減少成品。 先前,拖曳視窗可能會建立視覺成品,如所述。
  • 視覺效果。 因為 DWM 負責撰寫螢幕,所以它可以轉譯視窗的透明和模糊區域。
  • 高 DPI 的自動縮放比例。 雖然調整不是處理高 DPI 的理想方式,但對於未針對高 DPI 設定設計的繼承應用程式而言,這是可行的後援。 (我們稍後會在 DPI 和 Device-Independent Pixel.) 一節中返回本主題
  • 替代檢視。 DWM 可以各種有趣的方式使用螢幕外表面。 例如,DWM 是 Windows Flip 3D、縮圖和動畫轉換背後的技術。

不過請注意,不保證已啟用 DWM。 圖形卡可能不支援 DWM 系統需求,而且使用者可以透過 [ 系統屬性 ] 控制台停用 DWM。 這表示您的程式不應該依賴 DWM 的重新繪製行為。 使用已停用 DWM 來測試您的程式,以確定程式已正確重繪。

下一個

保留模式與立即模式