Windows Display Driver Model

✍ dations ◷ 2025-11-08 11:53:29 #驱动程序

Windows Display Driver Model(WDDM),是微软新一代的图形驱动程序模型。

WDDM是改良旧有的Windows XP上的XPDM架构,XPDM是使用2D 的GDI(Graphics Device Interface)或 GDI+。与XPDM相比,WDDM是3D加速桌面,最早适用于Windows Vista之上 。Windows 7支持 WDDM 1.1。

WDDM 使用户能够同时运行多个 GPU 密集型应用程序。

一个Direct3D的图形表面(surface)的内存区域,包含纹理网格(textured meshes)用于呈现2D或3D场景。WDDM允许不同的行程(process)共享整个Direct3D表面。在WDDM推出之前,进程之间共享纹理是困难的,因为这将需要复制的数据,从显存到系统内存,然后返回到视频内存的新设备。

一旦某个WDDM驱动程序故障时,图形堆栈(stack)将重启驱动程序。图形硬件故障时也会被拦截,必要时驱动程序将被重新设置。

WDDM还允许图形硬件重置或拔出不正确的重启。

新的驱动程序模型要求有图形硬件支持Shader Model 2.0。根据微软2009年的调查,大约只有1-2%的硬件使用的XPDM,其余已具备WDDM的能力。

WDDM 1.0版不支持多个驱动器在多适配器,多显示器设置。如果一个多监控系统有多个图形适配器供电的显示器,无论是适配器必须使用相同的WDDM驱动程序。WDDM 1.1没有这种限制。

在Windows Vista引入了WDDM 1.0作为新的显示驱动程序架构,旨在更好的运行并支持包括HDCP在内的新技术。

Windows 7 支持了 WDDM 1.1,最早在 WinHEC 2008发布此一消息。新功能有:

DXGI 1.1、Direct3D 11、Direct2D和DirectWrite也将提供与Windows Vista平台更新。GDI / GDI+ 在Vista将继续依靠软件渲染。

WDDM 1.1向后兼容WDDM 1.0规范,1.0和1.1的驱动程序可直接用于Windows Vista。

Windows 8 includes WDDM 1.2 and DXGI 1.2. 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), 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.

WDDM 1.2 supports display-only and render-only WDDM drivers, such as and WARP-based 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.

Windows 8.1 includes WDDM 1.3 and DXGI 1.3. 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.

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内DirectX 12将废除自动资源管理和任务流水线管理,允许开发人员可低端控制显卡的存储器和渲染状态。WDDM 2.0 降低支持虚拟内存寻扯的 GPU 于核心模式的驱动程序工作量。并且用户模式的驱动程序可并行运行多线程,从而降低CPU使用率。

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

Windows 10 创作者更新中包含WDDM 2.2,它是为了Windows Holographic平台上VR、AR及MR的立体渲染和DXGI 1.6而打造。

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

Windows 10 2004包含WDDM 2.7。

给Oculus Rift 头戴式显示器的软件开发者包中包含在Windows 10上DXGI 2的预览版本。

相关

  • 苯二酚苯二酚(benzenediol)即二羟基苯(dihydroxybenzene),苯分子中两个氢原子被两个羟基取代后的衍生物。化学式为C6H4(OH)2,有以下三个异构体:邻苯二酚间苯二酚对苯二酚这三种二元酚的性
  • 液氮液态氮(常写为LN2)是指惰性、无色、无嗅、无腐蚀性、不可燃的氮气在温度极低的环境下而得到的液体,是氮气在低温下形成的液体形态。氮的沸点为−195.79 °C(77 K),在正常大气压下
  • 海岸侵蚀海岸侵蚀,为海水对于海岸线陆地的侵蚀,所形成的一种作用。一般的海蚀通常伴随着潮汐,周期性的潮汐引起海水向陆地的水平流动,进而对陆地边缘产生侵蚀作用,而其中又以波浪的侵蚀力
  • 伦敦希思罗机场希思罗机场(英语:Heathrow Airport;IATA代码:LHR;ICAO代码:EGLL),是英国首都伦敦的主要国际机场,同时是英国航空与维珍航空的枢纽机场,位于大伦敦地区西侧的希灵登区,距离伦敦市中心约2
  • 蒙哥马利·伯恩斯查尔斯·蒙哥马利·伯恩斯(Charles Montgomery Burns),通常也叫做伯恩斯先生或“蒙蒂”·伯恩斯,台湾翻译为郭董(影射台湾真实人物),是美国动画情景喜剧《辛普森一家》中一位虚构的
  • 西安西安县可以指:
  • 沂水县沂水县在中国山东省东南部,沂河上游,是临沂市所辖的一个县。汉置东莞县,隋改沂水县。地处沂蒙山区,总面积为2434.8平方千米。地标建筑为东皋公园中的文峰塔。2017年当地率先实施
  • 18231823可以指:
  • 曹璐曹璐(韩文汉字音:조로 ,在韩艺名:차오루 ,英语:Cao Lu,1987年8月30日-),出生于中国湖南省张家界市,苗族人,曾于2005年以艺名“璐璐”在中国出道,并发行个人首张专辑《猫咪》。2012年8月
  • 克尔费兹克尔费兹是土耳其的城镇,位于该国西北部,处于盖布泽以东、伊兹密特以西,西南面是迪洛瓦瑟,由科贾埃利省负责管辖,2008年人口125,012。坐标:40°47′N 29°44′E / 40.783°N 29.73