服务器 频道

比Vista更完善 Windows 7图形架构解析


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+完成,而在Vista当中,GDI是无法硬件加速的——因此Vista显得很慢,在Windows 7中,GDI的工作除了通过WDDM模型的改变获得硬件加速之外,它们还按照面向的应用重新划分为Direct2D、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体系获得硬件加速,图形界面的性能会越来越好。微软希望将所有的图形操作都构建在DirectX之上。


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