Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 7系統教程 >> 關於Windows7系統教程 >> Windows 7系統細致核心圖形架構

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

日期:2017/1/23 18:37:48      編輯:關於Windows7系統教程

如現在大家所想的那樣,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下只能處理器來進行處理,因此用戶們可以感覺到日常應用會更加流暢。

Copyright © Windows教程網 All Rights Reserved