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

砚池小生

砚池小生

2016-02-19 17:31

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享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:高清视频回放加速

显示设备连接和配置

色彩管理

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

高DPI输出和可读性

多GPU系统

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

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

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+完成(此外还有一个WICWindows 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还原生支持更多的内容

展开更多 50%)
分享

猜你喜欢

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

电脑入门
Windows 7系统细致核心图形架构

如何让Windows7系统拥有图形解锁功能

电脑网络
如何让Windows7系统拥有图形解锁功能

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

.NET架构的核心开发技术

编程语言 网络编程
.NET架构的核心开发技术

windows核心宝藏

电脑入门
windows核心宝藏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Windows7系统中Aero3个核心功能与含义

电脑入门
Windows7系统中Aero3个核心功能与含义

Windows 7系统在印度

电脑网络
Windows 7系统在印度

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

网页设计开发:如何处理网页字体

网页设计开发:如何处理网页字体

用标准件的方式来组装网页DIV布局

用标准件的方式来组装网页DIV布局
下拉加载更多内容 ↓