摘要:
Windows显示器驱动程序模型 (WDDM) 是 Windows Vista中支持的一种全新的显示器驱动程序体系结构。该显示器体系结构是对 Windows XP显示器体系结构的革新,在支持新的方案、图形和应用程序的同时,为用户提供了性能更佳、可靠性更高的桌面体验。
WDDM 还提供了可与通常的消费电子设备相媲美的视频内容播放功能。它通过简化与外部监视器的连接、提供受保护 HD 视频的播放以及提高总体视频播放质量来实现这一优势。图形处理单元 (GPU) 的多任务处理在 Windows 中第一次成为可能,使用户能够同时运行多个 GPU 密集型应用程序。
最后,WDDM 通过为开发人员简化通用的 GPU 编程模型来改进 PC 游戏体验,通过保持硬件功能的一致性,得到将超越甚至是最新控制台的 PC 游戏体验。
该新显示器驱动程序模型是构成新桌面体验的一个极其重要的因素,因此拥有一块支持 WDDM 的 GPU 对于 Windows Vista 的“Premium Ready”市场标志而言是必需的,并且其将可应用于未来的 Windows Vista 徽标方案。
简介
GPU 性能改进的速度已经大幅超过了摩尔定律。专家称 GPU 一直以来以“摩尔立方定律”的速度在更新,这样的速度约等于图形处理能力每年翻一番。到目前为止,这种巨大的图形处理能力主要被用于视频游戏、丰富的多媒体套件(如视频剪辑、特效应用等),还用于如计算机辅助设计这样的高端技术应用程序。因此,即使每台现代 PC 实际上都有一块这样的 GPU,但该 GPU 的能力也很少会用于日常事务中,从而导致 GPU 在 PC 设计流程中的优先级并非最高。
Windows Vista 利用 GPU 的能力绝不仅限于游戏。起初,Windows Vista 依靠 GPU 为所有客户提供更好的日常总体桌面体验。Windows 视频播放架构依靠 WDDM 传送高清晰度 (HD) 视频播放,使视频播放达到与最新的消费电子设备相同的级别。此外,还有许多其他关键的应用程序也在利用 GPU,如新的 Windows Photo Gallery。正是由于 WDDM,才实现了这种操作系统和多个应用程序同时在更大范围的使用 GPU。
本文探讨了 WDDM 的常规优点和特殊优点,包括:
WDDM 的总体优点
桌面窗口管理器 (DWM)
视频改进,包括受保护的视频播放 (PVP)
部署
移动性和电源
新的图形 API
WDDM 的总体优点
稳定性
在 Windows XP中,显示器驱动程序既庞大又复杂,它可能是系统不稳定的主要原因。这些驱动程序完全在内核模式(即,在系统代码深处)下执行,因此驱动程序中的一个问题往往会迫使整个系统重新启动。根据在 Windows XP 使用期间收集到的失效分析数据,有高达 20% 篮屏是显示器驱动程序所造成的。因此,Windows Vista的一个主要目标就成了减少这样的失效并为客户提供可靠性更高的桌面体验,同时还能降低合作伙伴的支持成本。如今,可靠性甚至更为重要,因为有一些主流功能要求图形管道必须昼夜不停地高效执行。新的桌面窗口管理器(它可绘制屏幕上的窗口)就是这种功能的一个示例。稳定桌面体验与没有重绘错误的好处,无疑会为所有客户而不仅仅是游戏者能体验到。
WDDM 显示器驱动程序在技术水平上有两个组件:一个非常先进的内核模式驱动程序 (KMD) 和一个执行大部分密集计算的用户模式驱动程序。有了此模型,已将代码的大部分移出了内核模式。就是说,内核模式部分如今只负责更低级的功能,而用户模式部分则承担了更繁重的功能,如在保持应用程序兼容性的同时促进从高级 API 结构向直接 GPU 命令的转换。这极大地减少了出现致命蓝屏的机会,并且使得大多数图形驱动程序相关的问题在最糟的情况下也仅能影响一个应用程序。
WDDM 还针对显示器驱动程序挂起的情形提供了容错措施。这样便使 Windows Vista 能够在检测到系统挂起后再次重启显示器驱动程序,而无需重启系统。
另外,通过消除需要加入代码以支持多年来引入的各种设备驱动程序接口,Windows Vista 中的显示器驱动程序得到了极大的简化。这样,Windows Vista 实现了仅一个接口,并能确保所有旧驱动程序可以被识别且功能最优化。
性能
在某个应用程序需要启动 GPU 时,控制权会从当前正在使用 GPU 的任何其他应用程序中夺走。发生这种情况是因为不能在多个应用程序之间同时共享 GPU。在 Windows Vista 中,GPU 可用于许多常见的活动,如基本的窗口管理和视频呈现。此外,利用 Windows Presentation Foundation(.NET Framework 3.0 开发平台的部件),开发人员可借助新的 API 来轻松地使用 GPU,为非游戏应用程序提供丰富的友好用户界面。因为所有这些应用程序和功能均依赖于 GPU,因此 GPU 多任务处理是关键。
WDDM 通过实现以下功能使多个应用程序能够同时使用 GPU:
GPU 内存管理器 - 调整视频内存分配
GPU 计划程序 - 根据优先级来计划各种 GPU 应用程序
利用这些技术,在其他应用程序需要启动其服务时,当前的应用程序就不必再放弃 GPU。相反,会以一种更有效的方式来计划 GPU。
安全性
在支持多任务处理的平台上,安全性总是主要受到关注的内容。安全的操作系统需要确保由一个应用程序所使用的资源与另一应用程序相隔离。应用程序的隔离是受保护 HD 内容播放的需要。
WDDM 通过内置 GPU 内存管理器和计划程序的安全模型来提供这种必需的隔离。当前的 Windows XP 显示器驱动程序没有这样的工具,因此在可以播放的 HD 内容类型方面受到限制。
桌面窗口管理器
桌面窗口管理器 (DWM) 是 Windows Vista中的技术,用于控制桌面上窗口的显示和更新。为消除绘制痕迹(这在 Windows 的早期版本上很明显,因为应用程序直接异步绘制到屏幕),在将内容绘制到用户的显示器之前,DWM 在屏后或屏外的缓冲区中合成屏幕上的内容,比如应用程序窗口。DWM 实际上是 Direct3D 应用程序,在计算机开启的那一刻就会将其激活。因此,WDDM 的核心功能(如共享 GPU 资源和处理进程的能力)在这种情形下就变得很重要。对于 Windows Vista,有两个领域的投入与 DWM 相关:总体的质量改进和极富感染力的用户体验。在实现所有这些高级功能的过程中,WDDM 起到了关键的作用,我们将在下文了解到这一点。在 DWM 上层所构建的是 Windows Vista 特征终端用户体验,Windows Aero。
质量
在 Windows XP中,应用程序会根据操作系统的请求直接更新它们的窗口。应用程序将根据监视器的刷新率或当前正在运行的任何更新来异步执行这些请求。这些请求的结果是用户看见窗口错误地或缓慢地撕开并重绘。DWM 样式的窗口显示消除了撕开的痕迹,提供了高质量的桌面体验。系统响应速度更快,体验也更加干净利落,这让终端用户受益匪浅。
Windows Aero
DWM 还使得人们能感受到新的 Windows Aero 用户体验。Aero 是 Windows Vista 的设计最佳和性能最好的桌面体验。它需要一台配有合适图形配置的 PC,该配置需要包含对 WDDM 的支持;还必须配备好 PC 以使用 Windows Vista Ultimate、Windows Vista Enterprise、Windows Vista Business 或 Windows Vista Home Premium 等产品版本。DWM 提供了很多功能,可使终端用户以方便、直接的方式来搜索和访问他们桌面上的窗口。这些功能要求能够在应用程序和 DWM 之间共享图形内存,而这一点就是通过 WDDM 来实现。其他功能,如 Windows Flip 和 Windows Flip 3D,可允许您放心地管理桌面上的窗口,帮助您通过有视觉冲击力且方便方式来查看这些窗口。有关具体的硬件需求,请参阅 Windows Vista 升级顾问试用版;要检查兼容性,请参阅 Windows Vista Capable 和 Premium Ready PC。
DWM 使得 Windows Aero 体验能够提供以下终端用户功能:
已打开和最小化应用程序的生动的任务栏缩略图。
Windows Flip (Alt + Tab) 和 Windows Flip 3D(Windows 键 + Tab)- 两种视觉冲击力极强的新方式,用于管理打开的应用程序窗口。
DPI 缩放 - 支持更高的 DPI 屏幕,因此无论监视器分辨率如何,总能可靠地显示文本。
视觉刷新
Windows Aero 体验的一个令人注目的新看点是其拥有专业的外观,采用透明的玻璃设计,具有类似动态反射和流畅动画等精妙的效果。视觉元素(如玻璃效果)依赖于 Direct3D 像素阴影着色器管道和通过 WDDM 实现的 GPU 虚拟化。但是,除新的图形和视觉效果改进之外,Windows Aero 桌面体验执行起来也如同其外观一样流畅和专业,为用户提供了简单而高质的体验。
视频改进
Windows Vista 的目标之一是使视频播放质量与人们对主流消费电子设备所期望的质量相媲美。由于视频播放取决于驱动程序体系结构,Windows Vista 通过其升级的驱动程序模型能够提供许多视频播放方面的改进。
轻松的电视输出支持
如今,将 PC 连接到电视对于普通消费者而言还有些困难。未经扩展配置而仅在电视中插入将不起作用,这一点不同于消费电子设备。此类安装通常需要附加的监视器和第三方产品。WDDM 解决了电视或监视器与 PC 间的连接问题,赋予用户即插即用的便利。
改进的视频播放质量
如果与消费电子设备相比,在当前操作系统上的视频播放存在质量问题,如视频假信号过多以及色彩保真度不良。WDDM 提供了大量的功能以减轻这些问题。
首先,WDDM 使得 Windows Vista和运行中的应用程序能够对将在 GPU 上呈现的帧排队。其次,与排队功能密切配合的是一种回馈机制,确定在何时呈现帧。这两种功能一起通过不断维持音频和视频显示之间的同步,充分改善视频播放并减少视频假信号,可极大地改进视频播放的质量。
最后,WDDM 还通过 Direct3D9x 和 Direct3D10 API 提供了对更佳色彩 (gamma) 修正的支持,反过来也要求 GPU 支持这些 API。
高清晰度视频播放
正如在前文安全性部分所述,WDDM 提供了安全播放高清晰度视频内容的支持,这是许多内容提供程序的一项要求。
部署
主要让 Windows 终端用户不甚愉快的是:软件更新需要强制系统通过重启来完成。之前的图形驱动程序要求在更新后系统重启。通过使用 Windows Vista 和支持 WDDM 的 GPU,用户在更新图形驱动程序后再无需进行重启。
移动性和电源功能
对于 Windows Vista 中依赖于 WDDM 的可移动的全新“移动性”功能也从很多方面受益于 WDDM。
显示器和投影仪的热插拔检测
事实证明,使用 Windows XP将便携式计算机连接到投影仪是一个多步骤过程,而每个步骤又会因为便携式计算机供应商的不同而大相径庭。在 Windows Vista 中,这一连接到外部显示器或投影仪的过程得到了极大地简化。当附加的外部显示器或投影仪连接到显示适配器后,WDDM 将立即检测到这一新状态并自动通知 Transient Mobility Manager (TMM) 模块,该模块是新的 Windows Vista 外部显示器向导的底层技术。该向导简化了将桌面扩展或复制到第二台显示设备的过程。
“混合”休眠
Windows Vista 高级“休眠”状态将“待机”功能的快速切换与“休眠”功能的可靠性有机结合到一起。在 Windows XP 中,“休眠”将促成将系统内存上的内容保存到硬盘中,同时使系统断电;“待机”将使用少量电源保留内存内容,而使系统的其余部分断电。
不过,在 Windows Vista 中,“混合”休眠将促成将系统内存内容保存到硬盘上,同时系统随即进入“待机”状态。因此,系统能以极快的速度从系统内存重新开始(对于具有 Windows Premium 功能的 PC,这一过程不超过 2 秒)。不过,如果由于电池电量完全耗尽或断电导致系统内存内容丢失,系统仍可从硬盘重新开始。
注意 “混合休眠”要求 WDDM。
新的图形 API
WDDM 实现了功能更强的图形资源管理。此功能对于可供开发人员使用的 Direct3D9x 和 Direct3D10 API 的正常运行至关重要。
Windows Presentation Foundation
Windows Presentation Foundation 是下一代 Windows 客户端开发平台,用于用户界面、文档、图形、基于桌面的应用程序和所连接的应用程序,以及内容的开发。使得开发人员能够在更广的范围内利用 GPU 的强大功能,而无需了解低层的图形编程结构。现在,设计人员和开发人员可以更加轻松地构建为客户带来更加丰富和更具吸引力的用户界面和内容。其结果是,不久我们将会看到新一代应用程序(本地以及基于 Web 的应用程序),它们将提供更具吸引力的体验、更佳的数据可视化以及更完善的阅读体验。
在提供了用于 Windows XPSP2 和 Server2003 版本的 Windows Presentation Foundation 的同时,在 Windows Vista上,Windows Presentation Foundation 受益于 WDDM 的可伸缩性,它可以更加可靠地同时运行多个 WPF 应用程序。
游戏方面类似控制台的简易性
Direct3D10 是新的 Direct3D API,其实现了下一代 3-D 图形和复杂的平行计算。该 API 依赖 WDDM 的资源管理功能提供了一些极富表现力的功能。Direct3D10 API 的主要好处有以下方面:
通用的 GPU 编程模型 通过取消了对 GPU 编程的一些限制(部分是通过 WDDM 资源管理实现),实现了功能更为强大的 GPU 编程模型,该模型可用于下一代 3-D 图形以及那些能够从高度平行处理(如,图像处理)中受益的更通用的用途。
硬件功能的一致性 如同在控制台中,所有具有 Direct3D10 功能的硬件对开发人员而言是一样的。换言之,不存在区分运行 D3D9.x 的硬件配置之间差别的功能位。这样便更加简化了软件的实现。
视觉效果 如“几何着色器”和“流出”这样的功能有助于开发人员创建更加生动、逼真的图形,这已经超出了下一代控制台所能提供的图形。
更佳的系统性能 实现了更佳的性能,因为可以应 CPU的请求一致卸载进程。