• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dict.CN 在線詞典, 英語學習, 在線翻譯

            學海苦作舟,書山勤為徑

            留下點回憶

            常用鏈接

            統計

            積分與排名

            Denoise

            English study

            Web技術

            數據壓縮

            一些連接

            最新評論

            Windows Vista的桌面窗口管理器

             

            Desktop window Manager(DWM,先前的DCE,桌面組合引擎)是窗口管理器的組件,在Window Vista中引入,其引進了Window Aero圖形用戶接口和可視的主題。DWM要求圖形卡支持DirectX9.0Shader模式2.0.DWMVista Starter版本中沒有,只有Vista Home基礎版中有,但許多Window Aero接口(例如GlassFlip 3D)都無效。在Windows Server 2008中也可以,但桌面體驗特性和兼容的圖形驅動程序是必須的。

            架構

            使用DWM,應用程序并不直接地畫到顯存中,取而代之的行為是將內容畫到系統內存的off屏幕緩沖區,這個緩沖區又DWM組合到一起而最終渲染到屏幕上,每秒許多次。某種意義上說,他與Mac OS XQuartz Compositor相似。因為Compositor已經訪問所有程序的圖形。DWM使用Direct 9X來執行組合功能并最終在GPUrender,將CPUScreen Buffer到顯示器的渲染過程解脫出來。然而這并不映像應用程序paintoff屏幕緩沖區,依賴于使用什么樣的技術,可能仍然是CPU綁定的。DWM結構在DWM兼容格式中可用。緩沖區中的窗口內容轉換到DirectX 素材。

            桌面本身是滿屏的Direct3D表面,其窗口使用兩個相鄰三角形表達的網格可以變換到2D的矩形。素材,代表UI映射到這些矩形上。窗口轉換實現為網格轉換,使用shader程序。Windows Vista,轉換限制在實現轉換的內建陰影中。 DWM僅僅將主桌面對象映射到一個3D表面,其他的桌面對象,包括虛擬桌面和UAC使用或不適用的安全桌面。

             

            由于所有的應用程序都render到一個off-screen緩沖區,他們也可以同樣讀取嵌入到其他程序的緩沖區。由于off-screen緩沖區是有應程序經常更新,嵌入的rendering將是應用程序窗口的動態表達而不是靜態的rendering。這就是live thumbnail 預覽,Windows FlipWindow Flip3DWindows Vista如何工作的。

            DWM使用MIL(媒體集成層,未托管的compositor,和WPF一道共享)來將窗口表達為在一個composition樹上的一個composition節點,表示桌面和所有在里面的窗口,這些通過MIL從場景后到前render。由于所有的窗口對最終的圖象都有貢獻,因此復合像素的顏色由多個窗口決定,這用來實現透明度的效果。DWM允許自定義陰影來控制怎么樣將多個應用程序創建符合像素。DWM包括內建的Pixel shader2.0程序,其計算窗口中像素的顏色,其平均臨近和后面窗口中的像素值。這些引用被DWM用來在DWM管理的窗口邊界獲得blur效果。
            由于MIL通過composition樹來提供一個retained mode圖象系統,在窗口被移動時需要repaint和refresh的工作就由DWM和MIL處理,將應用程序從其free出來。已經在composition樹和off-screen緩沖區中的背景數據,直接用來render背景, 而不用讓背景應用程序通過發送WM_PAINT來重繪它們自己,就象Vista之前系統所做的一樣。DWM使用雙緩沖區,避免在移動窗口的時候閃爍或抖動,composition引擎使用例如挑選的優化辦法來提高性能,避免重畫沒有變化的部分。由于compositor是多監視器感知的,DWM天生支持這些。在滿屏應用程序中,例如游戲,DWM并不執行窗口組合而因此性能并沒有相當大的降低。

            重定向
            對于非DWM感知的rendering技術,輸出必須被重定向到DWM緩沖區。對于窗口,GDI或DirectX任何一個都可以用來rendering。為了讓這兩個能與DWM一起工作,DWM為其提供了重定向技術。
            對于GDI,Microsoft Windows中最常用的rendering技術,每個應用程序窗口在其部分或全部需要顯示的時候,都是應用程序的工作去rendering它們自己。如果沒有DWM,rendering在視頻內存緩沖區中掃描。在DWM下,系統內存中分配一個與窗口大小相等的緩沖區。GDI調用被重定向到去寫這些緩沖區,而不是直接到視頻內存。另外一個緩沖區在video內存中分配來表示DirectX表面,其作為窗口網格的素材。系統內存緩沖區分別被轉換到DirextX表面,并且同步進行。這個過程是必須的,由于GDI不能直接輸出DirextX像素格式。表面由compositor和來讀,并且組合到視頻內存的桌面中。寫GDI輸出到系統內存不是硬件減速的,也不是轉換到DirextX表面。當一個GDI窗口被最小化的,其通過GDI的限制,緩沖區不再更新。因此,DWM使用應用程序被最小化之前的最后一幅位圖來render緩沖區。
            對于使用DirextX來寫3D表面的應用程序,Windows Vista中實現的DirextX使用WDDM來與DWM共享表面。DWM然后直接使用表面并且與窗口網格映射。對于WPF程序,這些是DirextX程序,compositorrender這些共享的表面,其被組合到最終的桌面。應用程序能混合多child窗口的renderng技術,只要GDI和DirextX都被用來render相同的窗口。這種情況,DirextX和 GDI的rendering的順序不能保證,并且例如不能保證來自系統內存的GDI位圖是否應經被傳遞到視頻內存表面。因此,最終的組合可能沒有包含GDIrendered元素。為了阻止這個發生,DWM被臨時關閉,只要應用程序是在同一個窗口混合運行GDI和DirextX。

            posted on 2008-07-13 15:55 笨笨 閱讀(2433) 評論(1)  編輯 收藏 引用 所屬分類: Windows編程

            評論

            # re: Windows Vista的桌面窗口管理器 2008-07-14 10:04 mAGICfLYER

            “強大”的翻譯。。。。。。。。  回復  更多評論   

            精品久久久久一区二区三区| 国产一级做a爰片久久毛片| 欧美日韩成人精品久久久免费看| 久久91精品国产91久久麻豆| 国产免费久久久久久无码| 尹人香蕉久久99天天拍| 色综合久久综合中文综合网| 亚洲乱亚洲乱淫久久| 久久久久久综合网天天| 嫩草影院久久99| 久久妇女高潮几次MBA| 狠狠88综合久久久久综合网| 久久国产热这里只有精品| 亚洲国产一成人久久精品| 97精品伊人久久久大香线蕉| 久久久久久久91精品免费观看| 国产一区二区三区久久精品| 人人妻久久人人澡人人爽人人精品| 久久精品一本到99热免费| 婷婷久久综合九色综合九七| 成人免费网站久久久| 亚洲AV乱码久久精品蜜桃| 色8激情欧美成人久久综合电| 漂亮人妻被黑人久久精品| 亚洲国产日韩综合久久精品| 久久国产精品偷99| 久久精品国产亚洲网站| 91精品国产高清91久久久久久| 久久久精品人妻一区二区三区蜜桃| 久久久久97国产精华液好用吗| 欧美一区二区精品久久| 久久精品国产精品国产精品污| 久久夜色精品国产网站| 少妇高潮惨叫久久久久久| 亚洲国产精品成人久久| 狠狠色综合网站久久久久久久高清| 久久精品国产一区二区三区不卡 | 久久综合视频网站| 亚洲国产成人久久综合一| 国产99久久久国产精品~~牛 | 五月丁香综合激情六月久久|