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

來源:互聯網
上載者:User

桌面視窗管理員是什麼呢?它是Vista中的一個新組件:Desktop Window Manager(DWM)。它建立在WPF核心圖形層組件基礎之上。還記得我在第一個Post中所提到的Composition引擎嗎?DWM的桌面轉譯就是建立在這個Composition引擎基礎之上的新特徵。它的出現幾乎改變了Vista中應用程式的螢幕象素顯示方式。

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

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

 

 

桌面轉譯(Composition)

在Vista之前,Windows要求應用程式畫自己的可見地區,它們可以直接畫在顯卡的視頻緩衝裡面。而在Vista,系統要求應用程式把整個表面畫到離屏Surface當中。然後由DWM控制所有的離屏表面,並把它們合成到一起顯示到真正的螢幕上。

現在電腦的圖形晶片飛速發展,具有了很強的處理能力,現在它們主要用於遊戲等方面。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訪問了視窗的離屏表面,其特殊的位置可以調整應用程式的顯示解析度,使它在高解析度顯示器上有更好的效果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.