天天看點

DWM Desktop Window Manager

Windows視窗管理器

  Desktop Window Manager ( dwm.exe) 是視窗管理器的組成部分, 是它給Vista系統(同 Windows7)提供視覺效果: 設定 窗體的透明度,動态的 工作列預覽, 甚至是3D任務切換。

DWM的外部特征

  DWM當然之後Vista的一部分,它的特點包括在Windows Vista Aero體驗中。這裡将拉出來幾個可識别的特點。

桌面組合

  到目前位置Vista最大的改變就是引進桌面組合。這成為一切都由DWM執行的基礎。桌面組合的主要特點是:應用程式取得螢幕上像素的方法已經本質的改變。   在Windows的各個版本,直到XP,程式通過視窗來paint他們的可見區域,并且它們直接paint到buffer,然後顯示到顯示卡。有了Vista,程式通過視窗來paint它們的整個表面到一個離屏(offscreen)的表面(可能叫做位圖,緩沖區或紋理),并且DWM處理所有這些offscreen表面,并且組合在一起放到onscreen緩沖區。

一些例子:

  通路視窗   現在程式是render到offscreen,這些offscreen表示能用在其他地方。這就是Flip,Flip3D和小圖檔特性怎麼樣工作的,并且其他的特性也能利用這個點。   不要在視窗操作中将背景程式牽涉進來   當視窗移動通過XP或以前的螢幕時,背景視窗部分僅僅在背景視窗蘇醒并且開始paint的時候可見(相應WM_PAINT消息,其收到頂級視窗的移動消息)。對于非響應背景程式,或即使是響應的程式但正好是page out的,也會導緻很差的使用者體驗。   考慮移動paint程式視窗通過一個IE視窗。在XP或之前的OS中,下面的症狀是不幸的但也是非常普通的:兩個case中下面的IE程式不能足夠快的repaint它自己來避免由移動Paint視窗留下的尾巴。   在Vista下,就不是這樣的情況了,下面的視窗不會收到WM_PAINT消息,并且不會被請求要render,由于它們的内容已經在DWM中,并且用來組合這個screen的。

Tear free體驗:

  假定,DWMrender到screen,DirextX提供的典型地用在遊戲上最新技術能用來整個 桌面體驗。特别的,圖形卡flip前緩沖區能在 螢幕上移動,增加了使用者體驗的平滑行和品質。

高分辨率的支援:

  主要的程式輸出都是對螢幕分辨率(DPI)不可知的。随着高分辨率螢幕的增加(120 DPI,144DPI),程式出現在非常小的實體空間會帶來比較壞的體驗。因為DWM有通路程式視窗的offscreen,DWM是唯一縮放這個DPI無知程式的地方,将其最終展現給使用者,提高高分辨率螢幕上的體驗。

記憶體的使用情況

  因為每個視窗都需要在記憶體中有一個緩沖區來存儲視窗的上下文, 是以這個   dwm.exe  程序所占的記憶體大小是由打開視窗的個數控制的. 如果打開了大量的視窗, dwm.exe 則會占用更多的記憶體. 在大多數情況下, 相比占用相對較少的記憶體, 使用複合 視窗管理器是值得的.

關閉 dwm

  關掉 dwm.exe 的唯一方法是停止這個服務運作. 在控制台或者開始菜單中打開"服務", 然後找到清單裡的 "Desktop Window Manager Session Manager", 然後點選"停止"按鈕, 注意在點了"停止"按鈕後你會切換到系統的基本主題(Basic Theme) .   可以以 管理者模式運作控制台然後使用下面的指令:   Stop Service net stop uxsms   Start Service net start uxsms   Disable Service sc config uxsms start= disabled   Enable Service sc config uxsms start= auto

将來可能的topic

  桌面組合是DWM提供的最基礎的方面,但我們已經僅僅簡單說了一下表面的主題,那裡仍然有許多關于探索和完全了解我們在Vista中正在做什麼的topic。這裡錯略列了幾個topic:   1.DWM使用 DirextX, GPU和 硬體加速   2.Vista顯示驅動模型對DWM的重要性和影響   3.重定向GDI和DirextX程式   4.怎麼樣揭示正在使用的WPF概念和技術   5.DWM怎麼樣paint視窗邊界和其他非客戶區   6.DWM遠端,顯著和通路性   7.高DPI支援   8.公共的探索DWM API   9.rener和可視性的優化   10.DWM的記憶體使用

其他DWM相關的源資訊

  最技術的了解讨論關于DWM的WEB是可能的,确實有其他地方那個有相關的資訊和新聞:   1.Kam VedBrat維護的 log,常常給DWM内部的描述,特别是DWM的特性和Vista Aero。   2.microsoft.public.windows.developer.winfxaero新組讨論所有Aero相關的東西

繼續閱讀