Windows 7系统细致核心图形架构

如现在大家所想的那样,Windows7其实是Windows Vista的改进版。Windows 7在Windows Vista的基础上进行了大量的完善工作,也加入了不少新特性。Vista与其上一代XP相比,提供了非常大的改进,然而一方面这些改进过于巨大,用户乃至相应软件厂商(如,DirectX 10应用开发商)一时无法完全接受,另一方面,由于特性的不完全具备,Vista的表现没有想象之中的那么好。到了Windows 7,包括操作系统本身、软件厂商和用户都已经做好了准备,因此反响比Vista更好也就不难理解了。

图形界面一直是Windows系统的核心,而从ghost xp开始,Windows就开始将提供一个富图形化的桌面图形界面作为要目,不仅仅是因为Vista和7的桌面本身就是一个3D应用程序,而是因为 Vista和7可以更好地发挥图形加速硬件的作用。从Windows Vista到Windows7,操作系统与GPU的结合越来越紧密。

虽然人们经常可以听到Windows7的大更新在于一个DirectX 11.0 API,然而对于Windows系统的图形架构来说,虽然DirectX也很重要,不过这还不是全部。一个图形架构包括了如何利用GPU加速各种各样的图形应用(2D、3D、打印等)、如何显示到最终显示设备上,以及包括设备检测、控制。Window 7在图形架构方面的更新主要有如下方面:

WDDM 1.1:新的驱动模型

DirectX 11:更新的Direct3D 11,以及相关的新Direct2D API

DXVA-HD:高清视频回放加速

显示设备连接和配置

色彩管理

高DPI输出和可读性

多GPU系统

联合显示适配器(又叫联合渲染)

下面,会就这些改进进行简单的介绍。

Windows 7核心图形架构

Windows应用程序使用各种如GDI(Graphics Device Interface,2D时代系统的主要图形接口)、Direct3D、OpenGL这样的API和系统图形组件通信,而系统组件通过WDDM(Windows Display Driver Model,又名Longhorn Display Driver Model)与硬件交互,从Vista起,Windows就采用了和XP使用的XPDM不同的新的驱动模型:WDDM,使用的驱动模型在很大程度上决定了一个系统的图形特性。Vista使用的WDDM版本为1.0,而Windows7使用的改进版本为WDDM 1.1。

WDDM 1.1带来的改动挺多的,下面我们先来看看WDDM 1.0相对XPDM的改动,也就是Vista相对XP的改动

XPDM:非合成模型

WDDM:合成模型

在垂直同步之谜 XP/Vista与3D性能测试中, 笔者解释过Ghost xp的模型的不同之处,在WDDM模型下,所有的应用程序生成的显示画面最后会在DWM(Desktop Windows Manager,桌面窗口管理器)内进行合成为单一的最后输出画面,因此获得了更好的显示效果(天生的所有程序垂直同步)、额外效果(缩略图、缩放)以及 可以支持更大的左面,不过,原始的WDDM 1.0只是实现了这个大架构上的转换,细节上仍未够完美:

在Vista下,GDI(绘制通常的2D窗口的API,此外还有很多其他图形操作使用GDI)和DirectX(3D应用API)具有着不同的处理方 法:Direct3D是硬件加速的,而GDI则不是(GDI在XPDM时是硬件加速的),因此Vista用户在一些图形程序上会感到比XP慢;而且GDI 应用程序先经过CPU软件处理到系统内存上,再传输到显卡驱动分配的GDI显存区域上(也在系统内存当中),再由DWM负责将画面合成输出到显示器

Windows 7当中,GDI获得了硬件加速(这个见下面)——不过在混合使用GDI和Direct3D API的时候,GDI仍然无法硬件加速,不过,GDI直接输出到驱动的GDI显存区域,减少了一个步骤,同时降低了内存消耗(同时对混用的 Direct3D API也有效);显然,混合食用API来进行图形编程并不是一个好主意(当然,同时使用GDI和Direct3D意味着这个是一个老的、窗口模式的3D应 用程序,如Windows模式的老3D游戏)

老的WDDM 1.0处理GDI应用程序就如前面说过的一样

而在Windows 7 WDDM 1.1模型当中,单独的GDI将会通过WDDM与GPU进行硬件加速,同时经过GDI显存区域输出到DWM,表现在实际操作上,就是大部分窗口操作都变得 比Vista更流畅,日常工作更快捷(大部分2D应用程序都使用了GDI API,因为GDI包括的内容太多,因此必须对其保持兼容;关于GDI,后面还有相关内容)

Windows XP的Direct3D/GDI驱动架构

Windows Vista核心图形架构,比起XP来要丰富了很多

Windows 7核心图形架构,老的GDI/GDI+仍被单独支持,不过,Windows 7提供了它们对应功能的新的实现方法相比Vista带的DirectX 10,Windows 7自带了DirectX 11,和WDDM 1.0到1.1的变化不同,DirectX 11的版本号表示其变化更大一些。Windows 7 DirectX 11改变了以往的工作模式,将Direct3D 10.1升级到Direct3D 11,同时将以前Vista无法硬件加速的GDI/GDI+的工作重新划分、引入新的Direct2D和DirectWrite API来完成:

以前的图形操作大部分由Diredt3D和GDI/GDI+完成(此外还有一个WIC——Windows Image Component,管理扫描、打印和图形解码等工作),而在Vista当中,GDI是无法硬件加速的——因此Vista显得很慢,在Windows 7中,GDI的工作除了通过WDDM模型的改变获得硬件加速之外,它们还按照面向的应用重新划分为Direct2D(2D加速)、 DirectWrite(文本处理)和DXGI 1.1(设备控制),这些新的API或者新分配到的API具有着硬件加速,例如,Direct2D就实际上是通过Direct3D 10来完成加速:

Direct2D:

硬件加速的即时模式2维图形API,它在2维几何图形、位图和文本方面有着较高的性能和质量。Direct2D API是设计与GDI、GDI+和Direct3D之间进行互操作的

DirectWrite:

DirectWrite提供高质量的文本呈现、具有独立分辨率的轮廓字体、完整的Unicode文本以及布局支持。在使用Direct2D的时候,DirectWrite是硬件加速的。

当系统不支持Direct3D 10的时候,Windows 7会通过一个额外的10Level9软件层使用D3D9来完成工作,显然,为了最好的效率,你需要使用Direct3D10的显卡,因为Windows 7的DWM基于Direct3D 10

字体抗锯齿:DirectWrite效果

Direct3D 11

Windows 7带的Direct3D 11是D3D10的超集,它的特点是可以同时支持运行在Direct3D9和Direct3D10.1硬件上,实际上,DirectX 11会提供Vista的支持,而不是像Direct 10出来时那样,只支持Vista而无法兼容上一代系统,这导致了软件开发厂商们向DirectX 10转移的缓慢。DirectX 11支持多个硬件平台和多种操作系统的 特性让其更容易被接受。同时Direc3D 11本身也具有这不少的改进,这一点会有专文讨论(计划中),这里先谈论Windows 7对整个图形操作的改进,通过更多地将GDI/GDI+纳入DirectX体系获得硬件加速,图形界面的性能会越来越好(当然,这需要软件厂商们使用新的 Direct2D/DirectWrite进行编写)。微软希望将所有的图形操作都构建在DirectX之上。

通过Vista中缺失的GDI硬件加速纳入到DirectX体系中重新获得硬件加速,并且性能要更快;未来显卡厂商们将不再需要提供GDI加速

显示技术

Windows 7支持一系列的显示技术,包括将数字输出作为原生输出(支持HDMI和DisplayPort,而老的VGA模拟输出被建议弃用),Windows 7还原生支持更多的内容来源,如Blu-Ray、JPEG-XR、HDR图片等。

Windows 7使用默认的sRGB色彩空间作为所有设备都统一的工作流,但是精度提升到30位——每一个色彩通道都增加了两位;Windows 7最高支持48位的scRGB模式,高精度+扩展范围+高动态

WDDM 1.1要求驱动支持BGRA,BGRA是最快的色彩格式

显示设备连接和配置

在ghost xp中,所有的应用程序都在一个统一的虚拟桌面中显示,这个虚拟桌面分辨率为64Kx64K(65536x65536)

虚拟桌面按照显示器分为不同的视图,每一个视图对应一个适配器;一个适配器并不意味着一块显卡,一块显卡连接多个显示器的时候,它就含有多个适配器,类似地,SLI或者CrossFireX连接的单显示器就意味着其是一个单一的适配器(从Vista开始加入,叫做Linked-Adapter特性)

不过,在Vista下,无法使用多块不同GPU厂商的显卡,而Windows 7则可以

在LDA配置下,xp系统下载程序界面在不同的输出中漫游基本上是透明的,叫做Dynamic adapter switching动态适配器切换

在多显示器下,Windows 7提供了一个新的全局快捷键功能:Win + P,可以快速设置多显示器工作状态,这个快捷键本来是特地为了投影仪应用而设计

总的来说,Windows 7的图形架构比起Vista来更加完善,应用也更加方便。最明显的就是GDI API的变迁了,现在GDI应用程序也获得了硬件加速,就如同xp下一样,比其Vista下只能处理器来进行处理,因此用户们可以感觉到日常应用会更加流畅。

(0)

相关推荐

  • Windows 10系统上发生的最让用户期待的十大改变

    未达内部预期的Windows 8/8.1系统无疑让微软吃到了苦头,所以在最新的Windows10系统中更加注重用户的使用体验,在技术预览版中也内置了相关的服务来收集这些反馈信息。那么到底用户需要什么样 ...

  • Vista系统是什么意思?全面解析Windows Vista系统知识

    本文向大家相信介绍关于Vista系统的知识,包括Vista系统是什么意思,Windows Vista和Longhorn有什么关系,Windows Vista 最大的改变在哪些地方等等,文章介绍地非常详 ...

  • 全面优化Windows电脑系统

    启动如飞——设置启动选项 首先要做的优化是缩短我的启动速度,给主人留下一个好的第一印象。 在“开始”菜单里面选择“运行”,这时候会弹出来一个对话框,你在这里输入字母MsConfig,然后就可以进入系统 ...

  • 探索Windows 2008系统新功能

    探索Windows 2008系统新功能

  • windows 7系统中正确配置ipv6协议地址的方法介绍

    各种信息显示,和互联网息息相关的IPv4地址的“剩余油量指示灯”正闪烁着即将耗尽的警告,IPv4地址只剩下5%的数量可用了,预计到明年的秋 天就将彻底耗尽。对微软的最新操作系统Windows 7来说, ...

  • linux的简介 linux与windows服务器系统的区别

    通过什么是服务器?一文我们了解到,服务器系统主要有linux与windows系统,对于windows系统大家可能都熟悉些,虽然windows服务器系统,如windows 2008、windows200 ...

  • windows xp系统常见的异常故障及解决方法整理

    板载声卡发音不正常?快速开机后鼠标无法移动?当你遇到这些系统故障时候是不是觉得很崩溃呢?今天小编就给大家盘点那些常见的windows xp系统异常故障及解决途径,希望对那些还在坚守windows xp ...

  • Windows 8系统添乱导致笔记本键盘失灵的解决方法

    目前Win 8尚处在预发布版的时候,各大软件厂商和在线服务提供商都在紧锣密鼓地开展开发和测试工作,为提供兼容 Windows 8 的程序做准备。在当时,我曾写过一则关于建行网银盾无法使用的问题和其解决 ...

  • 为你的windows 7系统正确配置ipv6

    各种信息显示,和互联网息息相关的IPv4地址的“剩余油量指示灯”正闪烁着即将耗尽的警告,IPv4地址只剩下5%的数量可用了,预计到明年的秋 天就将彻底耗尽。对微软的最新操作系统Windows 7来说, ...