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

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

            日日噜噜夜夜狠狠久久丁香五月| 无码任你躁久久久久久| 久久精品www| 国内精品久久久久影院薰衣草| 四虎国产精品成人免费久久| 久久人妻无码中文字幕| 亚洲综合婷婷久久| 久久精品国产久精国产一老狼| 久久人人爽人人爽人人片AV高清| 国产精品久久久久久一区二区三区| 久久青青国产| 亚洲国产成人久久精品动漫| 久久人妻少妇嫩草AV蜜桃| 国产综合久久久久久鬼色| 7777精品伊人久久久大香线蕉| 色成年激情久久综合| 丁香五月网久久综合| 思思久久精品在热线热| 国产精品熟女福利久久AV| 狠狠色丁香婷婷综合久久来| 色欲综合久久躁天天躁| 精品久久人人爽天天玩人人妻| 91精品日韩人妻无码久久不卡| 久久精品综合网| 久久人人爽人人人人片av| 91精品久久久久久无码| 婷婷综合久久狠狠色99h| 亚洲国产精品无码久久| 久久综合久久自在自线精品自| 精品久久久无码中文字幕| 久久精品国产亚洲欧美| 久久综合狠狠综合久久综合88| 中文字幕久久亚洲一区| 偷窥少妇久久久久久久久| 久久久久久亚洲精品不卡 | 国产成人久久精品区一区二区| 少妇被又大又粗又爽毛片久久黑人| 国内精品久久久久久麻豆| 91久久香蕉国产熟女线看| 国产福利电影一区二区三区久久久久成人精品综合 | 久久一本综合|