Windows 7系統細緻核心圖形架構

來源:互聯網
上載者:User

   如現在大家所想的那樣,Windows7其實是Windows Vista的改進版。Windows 7在Windows Vista的基礎上進行了大量的完善工作,也加入了不少新特性。Vista與其上一代XP相比,提供了非常大的改進,然而一方面這些改進過於巨大,使用者乃至相應軟體廠商(如,DirectX 10應用開發商)一時無法完全接受,另一方面,由於特性的不完全具備,Vista的表現沒有想象之中的那麼好。到了Windows 7,包括作業系統本身、軟體廠商和使用者都已經做好了準備,因此反響比Vista更好也就不難理解了。

  圖形介面一直是Windows系統的核心,而從ghost xp開始,Windows就開始將提供一個富圖形化的案頭圖形介面作為要目,不僅僅是因為Vista和7的案頭本身就是一個3D應用程式,而是因為 Vista和7可以更好地發揮圖形加速硬體的作用。從Windows Vista到Windows7,作業系統與GPU的結合越來越緊密。

  雖然人們經常可以聽到Windows7的大更新在於一個DirectX 11.0 API,然而對於Windows系統的圖形架構來說,雖然DirectX也很重要,不過這還不是全部。一個圖形架構包括了如何利用GPU加速各種各樣的圖形應用(2D、3D、列印等)、如何顯示到最終顯示裝置上,以及包括裝置檢測、控制。Window 7在圖形架構方面的更新主要有如下方面:

  WDDM 1.1:新的驅動模型

  DirectX 11:更新的Direct3D 11,以及相關的新Direct2D API

  DXVA-HD:高清視頻回放加速

  顯示裝置串連和配置

  色彩管理

  高DPI輸出和可讀性

  多GPU系統

  聯合顯示適配器(又叫聯合渲染)

  下面,會就這些改進進行簡單的介紹。

  Windows 7核心圖形架構

  Windows應用程式使用各種如GDI(Graphics Device Interface,2D時代系統的主要圖形介面)、Direct3D、OpenGL這樣的API和系統圖形組件通訊,而系統組件通過WDDM(Windows Display Driver Model,又名Longhorn Display Driver Model)與硬體互動,從Vista起,Windows就採用了和XP使用的XPDM不同的新的驅動模型:WDDM,使用的驅動模型在很大程度上決定了一個系統的圖形特性。Vista使用的WDDM版本為1.0,而Windows7使用的改進版本為WDDM 1.1。

  WDDM 1.1帶來的改動挺多的,下面我們先來看看WDDM 1.0相對XPDM的改動,也就是Vista相對XP的改動

  XPDM:非合成模型

  WDDM:合成模型

  在垂直同步之謎 XP/Vista與3D效能測試中, 筆者解釋過Ghost xp的模型的不同之處,在WDDM模型下,所有的應用程式產生的顯示畫面最後會在DWM(Desktop Windows Manager,桌面視窗管理員)內進行合成為單一的最後輸出畫面,因此獲得了更好的顯示效果(天生的所有程式垂直同步)、額外效果(縮圖、縮放)以及 可以支援更大的左面,不過,原始的WDDM 1.0隻是實現了這個大架構上的轉換,細節上仍未夠完美:

  在Vista下,GDI(繪製通常的2D視窗的API,此外還有很多其他圖形操作使用GDI)和DirectX(3D應用API)具有著不同的處理方 法:Direct3D是硬體加速的,而GDI則不是(GDI在XPDM時是硬體加速的),因此Vista使用者在一些圖形程式上會感到比XP慢;而且GDI 應用程式先經過CPU軟體處理到系統記憶體上,再傳輸到顯卡驅動分配的GDI顯存地區上(也在系統記憶體當中),再由DWM負責將畫面合成輸出到顯示器

  Windows 7當中,GDI獲得了硬體加速(這個見下面)——不過在混合使用GDI和Direct3D API的時候,GDI仍然無法硬體加速,不過,GDI直接輸出到驅動的GDI顯存地區,減少了一個步驟,同時降低了記憶體消耗(同時對混用的 Direct3D API也有效);顯然,混合食用API來進行圖形編程並不是一個好主意(當然,同時使用GDI和Direct3D意味著這個是一個老的、視窗模式的3D應 用程式,如Windows模式的老3D遊戲)

  老的WDDM 1.0處理GDI應用程式就如前面說過的一樣

  而在Windows 7 WDDM 1.1模型當中,單獨的GDI將會通過WDDM與GPU進行硬體加速,同時經過GDI顯存地區輸出到DWM,表現在實際操作上,就是大部分視窗操作都變得 比Vista更流暢,日常工作更快捷(大部分2D應用程式都使用了GDI API,因為GDI包括的內容太多,因此必須對其保持相容;關於GDI,後面還有相關內容)

  Windows XP的Direct3D/GDI驅動架構

  Windows Vista核心圖形架構,比起XP來要豐富了很多

  Windows 7核心圖形架構,老的GDI/GDI+仍被單獨支援,不過,Windows 7提供了它們對應功能的新的實現方法相比Vista帶的DirectX 10,Windows 7內建了DirectX 11,和WDDM 1.0到1.1的變化不同,DirectX 11的版本號碼表示其變化更大一些。Windows 7 DirectX 11改變了以往的工作模式,將Direct3D 10.1升級到Direct3D 11,同時將以前Vista無法硬體加速的GDI/GDI+的工作重新劃分、引入新的Direct2D和DirectWrite API來完成:

  以前的圖形操作大部分由Diredt3D和GDI/GDI+完成(此外還有一個WIC——Windows Image Component,管理掃描、列印和圖形解碼等工作),而在Vista當中,GDI是無法硬體加速的——因此Vista顯得很慢,在Windows 7中,GDI的工作除了通過WDDM模型的改變獲得硬體加速之外,它們還按照面向的應用重新劃分為Direct2D(2D加速)、 DirectWrite(文本處理)和DXGI 1.1(裝置控制),這些新的API或者新分配到的API具有著硬體加速,例如,Direct2D就實際上是通過Direct3D 10來完成加速:

  Direct2D:

  硬體加速的即時模式2維圖形API,它在2維幾何圖形、位元影像和文本方面有著較高的效能和品質。Direct2D API是設計與GDI、GDI+和Direct3D之間進行互操作的

  DirectWrite:

  DirectWrite提供高品質的文本呈現、具有獨立解析度的輪廓字型、完整的Unicode文本以及布局支援。在使用Direct2D的時候,DirectWrite是硬體加速的。

  當系統不支援Direct3D 10的時候,Windows 7會通過一個額外的10Level9軟體層使用D3D9來完成工作,顯然,為了最好的效率,你需要使用Direct3D10的顯卡,因為Windows 7的DWM基於Direct3D 10

  字型消除鋸齒:DirectWrite效果

  Direct3D 11

  Windows 7帶的Direct3D 11是D3D10的超集,它的特點是可以同時支援運行在Direct3D9和Direct3D10.1硬體上,實際上,DirectX 11會提供Vista的支援,而不是像Direct 10出來時那樣,只支援Vista而無法相容上一代系統,這導致了軟體開發廠商們向DirectX 10轉移的緩慢。DirectX 11支援多個硬體平台和多種作業系統的 特性讓其更容易被接受。同時Direc3D 11本身也具有這不少的改進,這一點會有專文討論(計劃中),這裡先談論Windows 7對整個圖形操作的改進,通過更多地將GDI/GDI+納入DirectX體系獲得硬體加速,圖形介面的效能會越來越好(當然,這需要軟體廠商們使用新的 Direct2D/DirectWrite進行編寫)。微軟希望將所有的圖形操作都構建在DirectX之上。

  通過Vista中缺失的GDI硬體加速納入到DirectX體系中重新獲得硬體加速,並且效能要更快;未來顯卡廠商們將不再需要提供GDI加速

  顯示技術

  Windows 7支援一系列的顯示技術,包括將數字輸出作為原生輸出(支援HDMI和DisplayPort,而老的VGA類比輸出被建議棄用),Windows 7還原生支援更多的內容來源,如Blu-Ray、JPEG-XR、HDR圖片等。

  Windows 7使用預設的sRGB色彩空間作為所有裝置都統一的工作流程,但是精度提升到30位——每一個色彩通道都增加了兩位;Windows 7最高支援48位的scRGB模式,高精度+擴充範圍+高動態

  WDDM 1.1要求驅動支援BGRA,BGRA是最快的色彩格式

  顯示裝置串連和配置

  在ghost xp中,所有的應用程式都在一個統一的虛擬桌面中顯示,這個虛擬桌面解析度為64Kx64K(65536x65536)

  虛擬桌面按照顯示器分為不同的視圖,每一個視圖對應一個適配器;一個適配器並不意味著一塊顯卡,一塊顯卡串連多個顯示器的時候,它就含有多個適配器,類似地,SLI或者CrossFireX串連的單顯示器就意味著其是一個單一的適配器(從Vista開始加入,叫做Linked-Adapter特性)

  不過,在Vista下,無法使用多塊不同GPU廠商的顯卡,而Windows 7則可以

  在LDA配置下,xp系統下載程式介面在不同的輸出中漫遊基本上是透明的,叫做Dynamic adapter switching動態配接器切換

  在多顯示器下,Windows 7提供了一個新的全域快速鍵功能:Win + P,可以快速設定多顯示器工作狀態,這個快速鍵本來是特地為了投影儀應用而設計

  總的來說,Windows 7的圖形架構比起Vista來更加完善,應用也更加方便。最明顯的就是GDI API的變遷了,現在GDI應用程式也獲得了硬體加速,就如同xp下一樣,比其Vista下只能處理器來進行處理,因此使用者們可以感覺到日常應用會更加流暢。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.