WDDM

图形驱动程序模型

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

模型简介
是对旧版的Windows XP上的XPDM架构的改良,XPDM使用2D 的GDIGraphics Device Interface)或 GDI+,与XPDM相比,WDDM是3D加速桌面,最早应用于WIndows Vista系统中。Window7 系统支持 WDDM 1.1。而随着windows8 的出现,WDDM再次更新至WDDM1.2版本。Windows8.1(Windows Blue)则将WDDM的版本更新到1.3,随着windows10 ,WDDM再次更新至WDDM 2.0版本,将支持DX12
功能
WDDM 使用户能够同时运行多个 GPU 密集型应用程序
一个Direct3D的图形表面(surface)的内存区域,包含纹理网格(textured meshes)用于呈现2D或3D场景。WDDM 允许不同的线程(process)共享整个Direct3D表面。在WDDM 推出之前, 进程之间共享纹理是困难的,因为这个过程需要能够将数据从视频内存显存)复制到系统内存,然后返回到视频内存的新设备。
一旦某个WDDM驱动程序出现故障,图形堆栈(stack)将重新启动驱动程序。图形硬件故障时也会被拦截,必要时驱动程序将被重新设定。
WDDM还允许在显示驱动出错时,重置显示设备,而不用重新启动计算机。
WindowsXP时代有20%的系统蓝屏故障是显卡驱动问题造成的。WDDM在技术水平上有两个组件:一个内核模式驱动程序(KMD)和一个执行大部分密集计算的用户模式驱动程序。新版WDDM模型已将代码的大部分移出了内核模式。由于与显示相关的操作只在用户模式下完成,所以大大提高了系统稳定性
限制
新版的WDDM模型要求显卡硬件支持Shader Model 2.0。除此之外,对显卡的其他一些硬件特性也有所要求,导致一些硬件上支持SM2.0的显卡也无法通过WDDM的数字驱动认证(例如GMA900集成显卡就无法通过)。但根据微软2009年的一份调查,98%以上运行Windows Vista的硬件设备都已具备使用WDDM的条件。
WDDM 1.0版不支持多显示器,多显示适配器条件下的多驱动设置。在有多个显示器的条件下,如果有两个或以上的显示适配器同时进行信号输出,所有的显示适配器都必须使用相同的WDDM驱动。但是WDDM1.0版本下不允许多个显示驱动同时工作,即只能运行一个显示驱动程序。而WDDM1.1则无此限制。
模型1.1
Windows 7 支持 WDDM 1.1; 最早在 WinHEC 2008发布此一讯息. 新功能有:
DXGI 1.1, 可用GDI 支持硬件 2D 加速 (无 GDI+) 以及 Direct2D/DirectWriteBitBlt, StretchBlt, TransparentBltAlphaBlend, ColorFillClearType 字型支持Direct3D 11 装置驱动接口 (DDI)DXVA-HD DDI Hardware video overlay DDI 可选用 AES 128 加密可选用加密后的图形压缩支持 multiple drivers 在于一个 multi-adapter 以及 multi-monitor 的设定之上DXGI 1.1, Direct3D 11,Direct2D和DirectWrite也将提供与Windows Vista平台更新。GDI / GDI +在Vista将继续依靠软件渲染。
WDDM 1.1向后兼容WDDM 1.0规范,1.0和1.1的驱动程序可直接用于Windows Vista。
模型1.2
显卡驱动
WDDM 1.2还引入了三种显卡驱动版本,分为Full Graphics Driver、Display Only Driver和Render Only Driver,区别如下:
(1)Full Graphics Driver:功能完整版本,支持2D和3D硬件加速,拥有完整的渲染(Render)、显示(Display)和视频(Video)功能。这一驱动是WDDM 1.0/1.1支持且支持的必备功能,所有Win8系统上的显卡都必须支持Full Graphics Driver,具备作为主卡启动的能力。
(2) Display Only Driver:顾名思义,硬件厂商编写的这一版本的驱动只有显示功能,2D和3D加速功能是操作系统用软件模拟的,使用这个驱动就不能作为主卡。
(3) Render Only Driver:只有最基本的渲染功能,同样不能作为主卡启动。
这三种驱动中第一种是所有WDDM中都必须要有的,也是功能最完整的,第二、第三种是WDDM 1.2中才出现的,之前的WDDM并不支持。另外,这个功能变化对普通用户并没有什么影响,主要是方便厂商编写驱动用的。
WDDM 1.2对普通用户的影响体现在两个地方,第一是性能和用户体验改进,第二个层次则是对DirectX的改进,进而影响游戏性能。
性能提升
1. 减少内存占用进而提高系统响应速度
内存占用过多会明显降低系统响应速度,特别是在集显平台,由于还要划分内存做显存之用,如何管理好被占用的内存也会影响系统速度。Win8通过先进的内存分配与回收机制减少了内存占用,系统休眠及恢复速度也得以优化。
2. 提高GPU容错以改善系统可靠性
这个前面也提到过一点,驱动程序因为各种意
外无响应时,Vista/Win7系统会尝试自动恢复驱动,减少蓝屏、死机等现象。Win8系统中,微软改进了GPU优先权(GPU preemption)和TDR(Timeout Detection and Recovery,超时检测和恢复处理),系统的可靠性有望进一步提升。
3. 提高出现性能问题时的诊断能力
越来越多的程序和应用开始使用GPU资源,因此提高性能诊断问题的能力愈发重要。在这点上,微软通过用户模式驱动日志、禁用FPO(Frame Pointer Omission)优化、XPS光栅化等方式提高了诊断能力。
在提升参数的同时,微软也在不断提升用户体验,意在让参数的提升真正转换为用户实际体验的提升。
功能与改进
1. 支持3D立体显示
3D显示是目前的热门,也是未来的大趋势,Win8也顺理成章地推出了Stereoscopic 3D立体显示技术。不过要实现立体显示依然需要软硬件条件的支持,比如3D显示器、3D显卡(目前的DX11显卡基本上都支持了)、3D驱动以及相应的应用程序。
2. D3D11视频播放
虽然现在为了兼容不同显卡,视频播放可以使用D3D9、D3D10等API,但是Win8系统中全部视频播放会统一到D3D11 API中,这样可以简化编程,提高效率。此外,D3D11在3D播放、DXVA硬解上更有优势,统一视频播放API好处多多。当然,要想更好地使用Win8系统,DX11显卡是少不了的。
3. 优化屏幕旋转
传统的台机和笔记本上频繁旋转屏幕并不常见,但是Win8还要面向平板电脑,后者应用中旋转屏幕是家常便饭,这就要求屏幕旋转时桌面能迅速转换。Win8针对此类应用做了大量优化以获得平滑无缝的屏幕旋转体验。
4. 支持以容器ID显示各种设备
近年来丰富的外设产品层出不穷,通过蓝牙USB、WiFi等各种方式连接到电脑上,容器ID是Win7上使用的外设分类管理的方法,Win8将之扩大,可以通过容器ID分门别类显示各种不同外设,使用和管理更方便。
5. 支持Windows与WDDM驱动之间无缝切换
部分场合中软件或者硬件需要重置,比如升级驱动时屏幕会闪光或者抖动几次以适应变化,Win8系统中就可以在这几种状态中无缝切换。
6. 优化驱动以降低能耗
这个功能也主要针对平板这样的智能设备,不过电脑一样可以从中受益。通过DirectFlip和GPU Power Management技术降低GPU待机和活跃时的功耗。
版本总结
WDDM 1.2虽然版本号变化不大,其实功能改进还是很多的,特别是Win8还要支持平板电脑这样的智能设备,所以在视频播放、续航时间、功耗管理、屏幕旋转、外设管理这一类问题上重点加强,对PC而言,3D立体显示、可靠性加强、降低内存占用等改进也是非常重要的。
另外,WDDM不仅影响用户的操作体验,它还牵涉到DirectX API,即WDDM的改进还会对D3D游戏性能产生一定影响。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市