服务器 频道

垂直同步之谜 XP/Vista与3D性能测试

  到了Windows Vista下,情况又有所不同:微软在Vista中引入了新的Aero桌面UI和全新的显示驱动模型,不仅极大地改变了用户体验,对与OpenGL的内在影响也非常巨大。Vista是原生支持OpenGL的,这对微软来说是一个巨大的改变。

  Windows Vista的一个重要特性是Aero用户界面,它提供了透明度、混合等窗口功能,以及动画图标、程序画面预览等特性,实际上,Aero本身就是一个3D应用程序,它需要GPU具有一定的3D能力并和其紧密集成。Windows Vista通过DWM(Desktop Window Manager,桌面窗口管理器)来提供Aero的底层支持。


OpenGL、Direct3D与DWM:Windows Vista的驱动模型

  为了得到最终的合成桌面,所有窗口的3D内容(OpenGL或Direct3D)都要发送到DWM,由DWM混合得到最终的显示画面。DWM下,GDI不再提供硬件加速,而是通过CPU来完成)。Windows Vista同时提供了一个新的显示驱动模型来支持新的变化(使Direct3D和OpenGL处于对等的地位),新的WDDM(Windows Display Driver Model),或者叫做LDDM(Longhorn Display Driver Model)将会在Aero打开的时候提供3D窗口混合功能(无论是使用Direct3D还是OpenGL接口)。


Windows Vista下的WDDM驱动模型

  WDDM提供了一个由Thunk Layer组成的防火墙,它这提高了系统整体的稳定性。在以往(如XP下),驱动程序直接与GPU硬件层会话,并掌握诸多底层功能,这很容易引起问题,现在由显卡驱动带来的问题不太容易影响到整个系统(当然,问题还是有的)。此外,WDDM还改变了图形API的工作方式,以往如显存等资源由驱动程序控制,现在则统一交给操作系统管理,又比如在多个程序运行时,OpenGL ICD可以为每个程序都提供最大的材质存储空间,并且由Vista负责分配资源和管理调度,从而提高系统资源的整体利用效率。当然,由于每个程序都配置了独立的显存,这样内存占用会有所增加。

 


停止响应的显示驱动程序

  由于Vista管理着提供给内核层的显示命令缓冲区,因此现在可以通过OS检测显卡故障,通过Vista的TDR(Timeout Detection and Recovery,超时检测恢复)功能,若一个显示命令2秒内得不到执行,那么Vista就会重置图形芯片和恢复显卡驱动。并进行如图上的提示。

0
相关文章