官方组织讲解:OpenGL与Vista

作者:上方文Q
OpenGL官方组织Khronos OpenGL ARB工作组最近陆续收到了许多请求,希望能澄清OpenGL在Windows Vista上的性能问题 。由于微软在Vista中引入了Aero Glass桌面效果和全新的显示驱动模式,因而极大地改变了用户体验,对OpenGL的疑问也是可以理解的,不过很多人也许没有意识到,Vista是原生支持OpenGL的,这对微软来说是一个巨大的改变 。
【官方组织讲解:OpenGL与Vista】 OpenGL ARB称,有关OpenGL和Vista大家应当记住以下三点:
1、Vista完全支持OpenGL硬件加速;
2、OpenGL应用程序可以从Vista改进的图形资源管理机制中获益;
3、Vista上的OpenGL性能完全可以媲美XP上的 。
下边逐一解释:
1、Vista完全支持OpenGL硬件加速
与XP中一样,Vista里的OpenGL加速也是通过标准的Windows可安装客户端驱动程序(ICD)实现的,只是该驱动需要单独安装,否则都是只能使用软加速 。
另外从Areo Glass桌面合成机制上看,OpenGL和Direct3D在Vista中的地位是等同的,都是相关图形驱动从应用程序中获得数据,并使用GPU进行硬件渲染,随后提交给桌面窗口管理器(WDM),随后合成写入桌面,实现新的用户界面效果 。
关于DWM对系统应能的影响:由于DWM本身就是个3D程序,因此必然会消耗CPU和GPU资源,通常情况下会导致10%的图形性能降低,因此用户需要在美丽界面和更高性能之间做出选择;不过,如果3D游戏等程序运行在全屏状态,DWM就不再执行窗口合成,也不会再拖累性能 。
图解
2、OpenGL应用程序可以从Vista改进的图形资源管理机制中获益
Vista窗口显示驱动模式(WDDM)提供了一个防火墙和Thunk Layer,以提高系统整体稳定性,这与XP截然不同 。在XP里,OpenGL ICD直接与GPU硬件层会话,并掌握诸多底层功能,包括内存管理 。
事实上,WDDM为OpenGL应用程序提供了不少潜在的益处,比如显存等此前由OpenGL ICD管理的图形资源现在交给了操作系统虚拟管理,又比如在多个程序运行时,OpenGL ICD可以为每个程序开放最大的材质存储空间,并由Vista负责分配资源和管理时序,从而提高系统资源的整体利用效率 。
3、Vista上的OpenGL性能完全可以媲美XP上的
有人声称OpenGL在Vista上的性能不如在XP上,这是不对的 。下边给出专业OpenGL测试工具SPECvIEwperf、《Doom 3》(demo1)和《Prey》(move.demo)两个OpenGL游戏、《上古卷轴4:湮没》(demo1)和《半条命2:第一章》(Outdoor、关闭HDR)两个Direct3D游戏在两套系统上的性能比较 。
SPECviewperf测试采用双核心Xeon 3.0GHz处理器、NVIDIA Quadro FX 5500专业显卡、ForceWare 91.36 for XP、ForceWare 100.72 for Vista驱动程序,关闭WDM;游戏测试平台包括AMD Athlon 64 FX-62 2.8GHz处理器、NVIDIA GeForce 7900GTX显卡和ForceWare 97.73 for XP、ForceWare 101.20 for Vista驱动程序,全屏运行 。
测试对比
测试对比
测试对比
可以明显看出,开启Areo Glass的DWM的确会导致系统图形性能下降10% 。当然,如果你非常喜欢新的界面,这点儿损失还是值得的 。
而游戏方面,无论OpenGL还是Direct3D都一样,Vista下与XP下基本持平或略有下降,两种系统和两种API接口都无明显差别,而随着Vista的日渐成熟,整体游戏性能也会逐渐改善 。
Khronos OpenGL ARB工作组原文链接

    推荐阅读