本页使用了标题或全文手工转换

Windows Display Driver Model

维基百科,自由的百科全书
跳转至: 导航搜索

Windows Display Driver ModelWDDM),是微軟新一代的圖形驅動程式模型。

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、Direct3D 11、Direct2DDirectWrite也將提供與Windows Vista平臺更新。GDI / GDI+ 在Vista將繼續依靠軟件渲染。

WDDM 1.1向後兼容WDDM 1.0規範,1.0和1.1的驅動程序可直接用於Windows Vista。

WDDM 1.2[编辑]

Windows 8 includes WDDM 1.2[8][9] and DXGI 1.2.[9][10] New features were first previewed at the Build 2011 conference and include performance improvements as well as support for stereoscopic 3D rendering and video playback.

Other major features include preemptive multitasking of the GPU with finer granularity (DMA buffer, primitive, triangle, pixel, or instruction-level),[11] reduced memory footprint, improved resource sharing, and faster timeout detection and recovery. 16-bit color surface formats (565, 5551, 4444) are mandatory in Windows 8, and Direct3D 11 Video supports YUV 4:4:4/4:2:2/4:2:0/4:1:1 video formats with 8, 10, and 16-bit precision, as well as 4 and 8-bit palettized formats.[12]

WDDM 1.2 supports display-only and render-only WDDM drivers, such as Microsoft Basic Display Driver[13] and WARP-based Microsoft Basic Render Driver which replaced kernel-mode VGA driver.

WDDM 1.0/1.1 only allows rudimentary task scheduling using "batch queue" granularity; improvements to multitasking, as well as fast context switching and support for virtual memory, were initially expected in versions tentatively named WDDM 2.0 and WDDM 2.1, which were announced at WinHEC 2006.[14][15][16]

WDDM 1.3[编辑]

Windows 8.1 includes WDDM 1.3[17] and DXGI 1.3.[18] New additions include the ability to trim DXGI adapter memory usage, multi-plane overlays, overlapping swap chains and swap chain scaling, select backbuffer subregion for swap chain and lower-latency swap chain presentation. Driver feature additions include wireless displays (Miracast), YUV format ranges, cross-adapter resources and GPU engine enumeration capabilities.

WDDM 2.0[编辑]

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[19] DirectX 12將廢除自動資源管理和任務管線管理,允許開發人員可低階控制顯示卡的記憶體和渲染狀態。WDDM 2.0 降低支援虛擬記憶體尋扯的 GPU 於核心模式的驅動程式工作量。[20]並且使用者模式的驅動程式可並列執行多執行緒,從而降低CPU使用率。[21][22][23]

WDDM 2.1[编辑]

Windows 10周年更新中包含WDDM 2.1,它支援Shader Model 6.0 (mandatory for feature levels 12_0 and 12_1),[24] 和DXGI 1.5它支援 HDR10 - a 10-bit high dynamic range, wide gamut format[25] defined by ITU-T Rec. 2100/Rec.2020 - and variable refresh rates.[26]

WDDM 2.2[编辑]

Windows 10 創作者更新中包含WDDM 2.2,它是為了Windows Holographic平臺上VRARMR立體渲染和DXGI 1.6[27]而打造。

WDDM 2.3[编辑]

在Windows 10 秋季創作者更新中包含WDDM 2.3。

預覽版本[编辑]

Oculus Rift 頭戴式顯示器的軟體開發者套件中包含在Windows 10上DXGI 2的預覽版本。

注釋[编辑]

  1. ^ Windows Vista Display Driver Model
  2. ^ Cross Process Resource Sharing
  3. ^ 3.0 3.1 WHDC: Graphics Guide for Windows 7. Microsoft. 12-06-2009. 
  4. ^ Windows DDK - GDI Hardware Acceleration. MSDN. [2009-06-14]. 
  5. ^ Windows DDK - DXVA-HD DDI. MSDN. [2009-06-13]. 
  6. ^ Windows DDK - Overlay DDI. MSDN. [2009-06-13]. 
  7. ^ Windows DDK - Multiple Monitors and Video Present Networks. MSDN. [2010-07-14]. 
  8. ^ Windows Developer Preview - New for Display devices. MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  9. ^ 9.0 9.1 Windows Display Driver Model Enhancements in Windows Developer Preview. MSDN. Microsoft. 28 September 2012 [9 December 2013]. 
  10. ^ DXGI 1.2 Improvements. MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  11. ^ DXGI_Graphics_Preemption_Granularity Enumeration. MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  12. ^ DXGI_FORMAT enumeration. MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  13. ^ https://msdn.microsoft.com/en-us/library/windows/hardware/dn653353(v=vs.85).aspx
  14. ^ Al-Kady, Nabeel. Display Driver Logistics And Testing. WinHEC 2006. Microsoft. [9 December 2013]. 
  15. ^ Pronovost, Steve. Windows Display Driver Model (WDDM) v2 And Beyond. WinHEC 2006. Microsoft. [9 December 2013]. 
  16. ^ Dan Warne. Windows graphics system to be overhauled. APC Magazine. June 1, 2006 [20 February 2015]. 
  17. ^ What's new for Windows 8.1 Preview display drivers (WDDM 1.3). MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  18. ^ DXGI 1.3 Improvements. MSDN. Microsoft. 16 November 2013 [9 December 2013]. 
  19. ^ Smith, Ryan. The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarm. AnandTech. Purch. 6 February 2015. 
  20. ^ https://msdn.microsoft.com/en-us/library/windows/hardware/dn932171(v=vs.85).aspx
  21. ^ https://channel9.msdn.com/Events/Build/2014/3-564 Max McMullen. Direct3D 12 API Preview. Build 2014, session 3-564
  22. ^ Moreton, Henry. DirectX 12: A Major Stride for Gaming | NVIDIA Blog. Blogs.nvidia.com. 2014-03-20 [2014-03-26]. 
  23. ^ DirectX 12 - DirectX Developer Blog - Site Home - MSDN Blogs. Blogs.msdn.com. 2014-03-20 [2014-03-26]. 
  24. ^ https://msdn.microsoft.com/en-us/library/mt733232(v=vs.85).aspx
  25. ^ https://msdn.microsoft.com/en-us/library/mt742103(v=vs.85).aspx
  26. ^ https://msdn.microsoft.com/en-us/library/mt742104(v=vs.85).aspx
  27. ^ https://channel9.msdn.com/Events/WinHEC/WinHEC-December-2016/PC-Gaming