服务器 频道

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

 


Windows 7核心图形架构

  Windows应用程序使用各种API和系统图形组件通信,比如GDI、Direct3D、OpenGL。而系统组件通过WDDM与硬件交互。

  从Vista起,Windows就采用了和XP使用的XPDM不同的新的驱动模型:WDDM,使用的驱动模型在很大程度上决定了一个系统的图形特性。Vista使用的WDDM版本为1.0,而Windows 7使用的改进版本为WDDM 1.1。


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

XPDM:非合成模型
 

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

在VVista下,GDI和DirectX具有着不同的处理方法:Direct3D是硬件加速的,而GDI则不是,因此Vista用户在一些图形程序上会感到比XP慢;而且GDI应用程序先经过CPU软件处理到系统内存上,再传输到显卡驱动分配的GDI显存区域上,再由DWM负责将画面合成输出到显示器

Windows 7当中,GDI获得了硬件加速——不过在混合使用GDI和Direct3D API的时候,GDI仍然无法硬件加速,然而,GDI直接输出到驱动的GDI显存区域,减少了一个步骤,同时降低了内存消耗;显然,使用混合API来进行图形编程并不是一个好主意

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

而在Windows 7 WDDM 1.1模型当中,单独的GDI将会通过WDDM与GPU进行硬件加速,同时经过GDI显存区域输出到DWM,表现在实际操作上,就是大部分窗口操作都变得比Vista更流畅,日常工作更快捷
0
相关文章