Windows Vista 桌面視窗管理器(1)

2021-08-22 06:38:43 字數 1147 閱讀 7782

桌面視窗管理器是什麼呢?它是vista中的乙個新元件:desktop window manager(dwm)。它建立在wpf核心圖形層元件基礎之上。還記得我在第乙個post中所提到的composition引擎嗎?dwm的桌面合成就是建立在這個composition引擎基礎之上的新特徵。它的出現幾乎改變了vista中應用程式的螢幕象素顯示方式。

通過dwm的桌面合成,應用程式的顯示不再是直接畫到螢幕上,而是乙個顯示記憶體中的乙個離屏su***ce。然後由dwm將這些su***ce合成顯示到螢幕之上。

從使用者體驗的角度看,啟用dwm後,提供的視覺效果有毛玻璃框架、3d視窗變換動畫、視窗翻轉和高解析度支援。其中最明顯的特徵有:工作列視窗的實時縮圖;alt-tab和win-tab組合鍵所看到的效果。

桌面合成(composition)

現在計算機的圖形晶元飛速發展,具有了很強的處理能力,現在它們主要用於遊戲等方面。dwm的主要目標就是利用圖形晶元的處理能力也給非遊戲使用者帶來盡可能好的體驗。因此dwm是基於directx,特別是direct3d。更準備是說,dwm是直接建立在乙個稱為milcore的層次之上。milcore又建立在directx之上。最終是用direct3d紋理來表示視窗內容和視窗框架。dwm/milcore呼叫適當的direct3d函式把所有的direct3d紋理合成為最終的桌面。vista桌面就可以理解為乙個全螢幕的direct3d應用程式。

從視窗系統的顯示角度上看,這可以給我們帶來很大的方便,幫助實現更高質量的視覺效果,比如:

1、訪問視窗:現在所有的視窗都顯示到離屏表面,這些離屏表面就可以用於其他的地方了。例如前面提到的alt-tab組合鍵所看到的縮圖,使用者還可以據此實現一些其他需求。

2、視窗操作中不再涉及到背景應用程式:在vista之前,如果隱藏的視窗變得重新可見,這部分區域只有在應用程式醒來後並響應了wm_paint才能被重畫,這就引起了很多難看的效果。在vista中,背景視窗不會收到wm_paint,也不會被要求提交,因為他們的內容已經在離屏表面當中了,可以被直接拿來進行重新合成。

3、更眩的使用者體驗,這個不用多說了,大家可以有自己的體驗感受。

4、高解析度支援:大部分應用程式不知道它所執行的顯示器的解析度。隨著高解析度顯示器的普及,這會使應用程式在物理空間看起來越來越小,效果很差。由於dwm訪問了視窗的離屏表面,其特殊的位置可以調整應用程式的顯示解析度,使它在高解析度顯示器上有更好的效果。

Windows Vista 遠端桌面連線引數

windowsvista 遠端桌面連線引數 mstsc v console f ullscreen w h public span edit connection file migrate connection file 指定連線的 rdp 檔案的名稱。v 指定要連線到的遠端計算機。console ...

Windows Vista桌面視窗管理器(3)

前面曾經提到過,通過wddm可以支援su ce的跨程序共享。共享directx表面對於重定向directx應用程式非常重要。因為vista必須要和以前的應用程式相容,就必須支援以前用gdi directx編寫的應用程式。wdm必須把這些應用程式的視窗重定向到su ce,然後由wdm統一合成 最後顯示...

Windows Vista桌面視窗管理器(3)

前面曾經提到過,通過wddm可以支援su ce的跨程序共享。共享directx表面對於重定向directx應用程式非常重要。因為vista必須要和以前的應用程式相容,就必須支援以前用gdi directx編寫的應用程式。wdm必須把這些應用程式的視窗重定向到su ce,然後由wdm統一合成 最後顯示...