• <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

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

            久久精品亚洲一区二区三区浴池| 色8激情欧美成人久久综合电| 久久精品无码午夜福利理论片| 久久av无码专区亚洲av桃花岛| www.久久99| 久久久久人妻一区精品| 国产激情久久久久久熟女老人| 国产精品一久久香蕉国产线看观看 | 久久精品国产久精国产果冻传媒| 久久天天躁狠狠躁夜夜躁2O2O | 久久精品国产乱子伦| 蜜桃麻豆www久久| 国产aⅴ激情无码久久| 久久夜色精品国产| 久久99国产精品99久久| 亚洲精品乱码久久久久久按摩| 91精品观看91久久久久久| 中文字幕久久精品无码| 欧美大战日韩91综合一区婷婷久久青草 | 99久久精品国产一区二区| 久久久久国产精品嫩草影院| 97久久香蕉国产线看观看| 一本久道久久综合狠狠爱| 性做久久久久久久久| 精品无码久久久久久国产| 青青草原1769久久免费播放| 国产精品久久久天天影视| 亚洲av成人无码久久精品| 久久综合色老色| 久久婷婷色综合一区二区| 性做久久久久久久久久久| 中文字幕无码av激情不卡久久| 久久久久久久久久免免费精品| 2021国产成人精品久久| 国产免费久久精品丫丫| 国产香蕉97碰碰久久人人| 久久精品国产只有精品66 | 香蕉久久AⅤ一区二区三区| 青青青青久久精品国产h久久精品五福影院1421 | 久久水蜜桃亚洲av无码精品麻豆| 亚洲精品无码久久久久久|