Windows Display Driver Model

Windows Display Driver Model(WDDM),是微軟新一代的圖形驅動程式模型。
WDDM是改良舊有的Windows XP上的XPDM架構,XPDM是使用2D 的GDI(Graphics Device Interface)或 GDI+。與XPDM相比,WDDM是3D加速桌面,最早適用於Windows Vista之上[1] 。Windows 7支援 WDDM 1.1。
功能
WDDM 使用户能够同时运行多个 GPU 密集型应用程序。
一個Direct3D的圖形表面(surface)的內存區域,包含紋理網格(textured meshes)用於呈現2D或3D場景。WDDM允許不同的行程(process)共享整個Direct3D表面[2]。在WDDM推出之前,進程之間共享紋理是困難的,因為這將需要複製的數據,從顯存到系統內存,然後返回到視頻內存的新設備。
一旦某個WDDM驅動程式故障時,圖形堆疊(stack)將重新啟動驅動程式。圖形硬件故障時也會被攔截,必要時驅動程式將被重新設定。
WDDM還允許圖形硬件重置或拔出不正確的重新啟動。
限制
新的驅動程序模型要求有圖形硬件支持Shader Model 2.0。根據微軟2009年的調查,大約只有1-2%的硬件使用的XPDM,其餘已具備WDDM的能力。
WDDM 1.0版不支持多個驅動器在多適配器,多顯示器設置。如果一個多監控系統有多個圖形適配器供電的顯示器,無論是適配器必須使用相同的WDDM驅動程序。WDDM 1.1沒有這種限制。
版本歷史
WDDM 1.0
在Windows Vista引入了WDDM 1.0作為新的顯示驅動程序架構,旨在更好的執行並支援包括HDCP在內的新技術。
WDDM 1.1
Windows 7 支援了 WDDM 1.1,最早在 WinHEC 2008發布此一訊息。新功能有:[3]
- DXGI 1.1,可用GDI 支援硬體 2D 加速[4](無 GDI+)以及 Direct2D/DirectWrite
- BitBlt、StretchBlt、TransparentBlt
- AlphaBlend、ColorFill
- ClearType 字型支援
- Direct3D 11 裝置驅動介面 (DDI)
- DXVA-HD DDI [5]
- Hardware video overlay DDI [6]
- 可選用 AES 128 加密
- 可選用加密後的影像壓縮
- 支援 multiple drivers 在於一個 multi-adapter 以及 multi-monitor 的設定之上[3] [7]
DXGI 1.1、Direct3D 11、Direct2D和DirectWrite也將提供與Windows Vista平臺更新。GDI / GDI+ 在Vista將繼續依靠軟件渲染。
WDDM 1.1向後兼容WDDM 1.0規範,1.0和1.1的驅動程序可直接用於Windows Vista。
WDDM2
2006年又有WDDM 2.0的消息,WDDM2.0版能夠解決GPU多工處理問題,但需要新一代GPU硬體支援才可以完成。 2014年,微軟於Build 2014 開發者大會公佈下一代DirectX API Direct X 12。與此同時DirectX 12需要建基於WDDM 2.0上,Direct X 12及WDDM 2.0 將內建於Windows 10內[8] DirectX 12將廢除自動資源管理和任務管線管理,允許開發人員可低階控制顯示卡的記憶體和渲染狀態。WDDM 2.0 降低支援虛擬記憶體尋扯的 GPU 於核心模式的驅動程式工作量。[9]並且使用者模式的驅動程式可並列執行多執行緒,從而降低CPU使用率。[10][11][12]
注釋
- ^ Windows Vista Display Driver Model
- ^ Cross Process Resource Sharing
- ^ 3.0 3.1 WHDC: Graphics Guide for Windows 7. Microsoft. 12-06-2009.
- ^ Windows DDK - GDI Hardware Acceleration. MSDN. [2009-06-14].
- ^ Windows DDK - DXVA-HD DDI. MSDN. [2009-06-13].
- ^ Windows DDK - Overlay DDI. MSDN. [2009-06-13].
- ^ Windows DDK - Multiple Monitors and Video Present Networks. MSDN. [2010-07-14].
- ^ Smith, Ryan. The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarm. AnandTech. Purch. 6 February 2015.
- ^ https://msdn.microsoft.com/en-us/library/windows/hardware/dn932171(v=vs.85).aspx
- ^ https://channel9.msdn.com/Events/Build/2014/3-564 Max McMullen. Direct3D 12 API Preview. Build 2014, session 3-564
- ^ Moreton, Henry. DirectX 12: A Major Stride for Gaming | NVIDIA Blog. Blogs.nvidia.com. 2014-03-20 [2014-03-26].
- ^ DirectX 12 - DirectX Developer Blog - Site Home - MSDN Blogs. Blogs.msdn.com. 2014-03-20 [2014-03-26].