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