Windows7 圖形引擎 PK Vista
Windows 7圖形引擎修改了Vista引入的DWM工作方式,同時它還帶來了新的API、D2D和DWrite、新的Direct3D 11并能更好的處理多路輸出設備。
微軟的桌面和圖形小組高級架構師David Blythe在Channel 9的采訪中解釋了,什么是桌面窗口管理器(DWM)及其如何運作。應用程序不會直接在屏幕上繪圖而是在內存的位圖上進行,DWM負責把圖像繪制到屏幕。這項技術的使用是為了在圖形出現在屏幕之前對其應用各種變換。這就是動畫任務欄縮略圖如何創建的機理或者說桌面縮放是如何運作的。
Vista的DWM最大的問題是它的效率問題。直到Vista為止,應用程序使用GDI在屏幕上進行繪圖,同時GDI使用硬件圖形加速器來完成實際的工作。在Vista中,GDI在內存中進行繪圖,DWM使用已繪制好的位圖并用GPU把它繪制到屏幕上。這會導致有兩份同樣的圖像。Windows 7中的改進意味著GDI將直接在圖形內存中進行繪制,這將在GDI中再次引入最小的硬件加速層。這項改變會極大的降低內存的消耗和讓圖形呈現速度加快。
兩項新的DirectX API是Direct2D和DirectWrite。根據MSDN的資料,Direct2D是:
硬件加速的即時模式2維圖形API,它在2維幾何圖形、位圖和文本方面有著較高的性能和質量。Direct2D API是設計與GDI、GDI+和Direct3D之間進行互操作的。
而DirectWrite則是:
DirectWrite提供高質量的文本呈現、具有獨立分辨率的輪廓字體、完整的Unicode文本以及布局支持。在使用Direct2D的時候,DirectWrite是硬件加速的。
Windows 7帶的Direct3D 11是D3D10的超集,它還可運行在D3D9和D3D10.x硬件之上。D3D11展現的一些新特性,如下所示:
分割 - 在運行時,在底層細節的多邊形模型的基礎上,提升直觀的多邊形數量
多線程呈現 - 利用多核CPU從不同的線程來呈現相同的Direct3D設備對象
計算著色器 - 公開著色器管道的非圖形任務,例如,流式處理和物理加速(類似于NVIDIA的CUDA實現的效果),包括HLSLShader Model 5
在Vista中運行得不太順暢的一項特性已經在Windows 7中得到解決,該特性可管理多個顯示器和類似于放映機的顯示設備。為了處理大量的潛在輸出設備配置,GDI API進行了擴展,對于所需的輸出配置可以簡單地通過按Win + P鍵來進行選擇?!?/P>
【編輯推薦】