发新话题
打印

OpenGL

OpenGL

什么是OpenGL

OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。
  OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1.0版,后成为工业标准,由成立于1992年的独立财团OpenGL Architecture Review Board (ARB)控制。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己系统上的实现。只有通过了ARB规范全部测试的实现才能称为OpenGL。1995年12月ARB批准了1.1版本,最新版规范是1999.5通过的1.2.1。
  OpenGL被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。它低端应用上的主要竞争对手是MS-Direct3D,该图形库是以COM接口形式提供的,所以极为较复杂,稳定性差,另外微软公司拥有该库版权,目前只在Windows平台上可用。D3D的优势在速度上,但现在低价显卡都能提供很好的OpenGL硬件加速,所以做3D使用Direct3D已没有特别的必要,在专业图形处理特别是高端应用方面目前还没有出现以Direct3D技术为基础的例子,而游戏等低端应用也有转向OpenGL的趋势。
  微软在Windows NT对OpenGL的支持始于3.51,在Windows9x中的支持始于Win95 OEM Service Release 2。Windows下常用的OpenGL库有两种,MS实现的和SGI实现的,MS-OpenGL调用会自动检测是否存在显示卡制造商提供的ICD(Installable Client DeviceDriver)驱动程序,有则调用ICD中的例程,否则才用CPU进行计算,所以能利用显示卡的OpenGL加速能力。对开发者来说使用方法并没有区别,只是有ICD驱动时更快些。SGI的版本是纯软件实现不能利用硬件加速并且SGI已经在1999年宣布停止支持,但这套库便于调试程序,仍有不少开发者使用。
  SGI曾经宣布研发OpenGL++,该图形库最大的特点是面象对象,提供了树形场景支持,大大减省了使用OpenGL处理复杂场景的工作量。后来(1999)SGI宣布与M$合作开发Ferihant,即Windows的下一代图形处理体系,包括DirectX与OpenGL的低级图形处理接口和以场景图支持为特点的高级接口,并且就此停止对其在Windows下的OpenGL实现的支持以示决心。此举世瞩目,大家都以为Windows图形处理快要过上幸福生活了,然而,不久,SGI宣布中止合作,并撤回派出的科学家,Ferihant基本上夭折。SGI 称终止合作的原因是M$不肯积极合作,光想把SGI 的技术合并进DirectX,真正内幕不详。不过以SGI在图形处理界的老大地位来说,还是有几分可信度的,因为M$初支持OpenGL就不积极。
虽然早在WinNT3.51 时代M$就已经实现了它的OpenGL 版本,但不肯随其Windows95 时提供,称该API 适合高端应用,而Win95面向一般消费者的用不到,并且在其win3.x下开发的wing 图表库的基础上搞出了GameSDK,即后来的DirectX 库,称这套库是专门为高性能游戏开发设计的,在当时的硬件条件下,这无疑是非常有道理的,并且很快成为Windows环境下游戏开发的标准API 。该库实质上是提供了绕过Windows 直接访问显存的途径,从而很好的解决了GDI 体系性能方面的不足,但由于是以COM接口形式提供的,所以相当复杂,而稳定性也不是很好,所以有人称Direct3D 是为追求速度而不择手段的公司才用的。然而也就在这个时期,三维图形加速卡开始走向商用和家用,也就是在这时期S3公司以其性价比极高的带三维图形加速的显示芯片、板卡向当时Trident 公司的霸主地位发起了挑战。另外这时实时三维游戏开始流行,以Dos 下的第一人称射击游戏——暗杀希特勒(3d worlf) 大获成功、红极一时ID Software 的开始铸辉煌,推出了Doom 、Quake1 ,相信这两个名字在今天(2000.4) 的游戏圈子里应该是无人不知无不晓吧?1996.12.ID Software 的高手John Carmack 在开发下一代三维图形引擎时在其.plan 中写上了以下字句:
引用:

  Direct-3D IM is a horribly broken API. It inflicts great pain and suffering on the programmers using it, without returning any significant advantages. I don’t think there is ANY market segment that D3D is apropriate for, OpenGL seems to work just fine for everything from quake to softimage. There is no good technical reason for the existance of D3D.
  I’m sure D3D will suck less with each forthcoming version, but this is an oportunity to just bypass dragging the entire development community through the messy evolution of an ill-birthed API.
  此后以他为代表的一大批游戏开发人员开始多方呼吁MS积极支持OpenGL。M$终于在Win95的OSR2版本里集成了OpenGL,并为以前版本的Win95免费提供单独的OpenGL实现。(或许您还不了解这些人的影响力,不知道您听说过以生产Voodoo系统图形加速卡而著称于世的3dfx公司吗?当年Quake的开发者不肯用Voodoo的glide API对voodoo做优化版本,差点没把3dfx吓蒙,于是赶紧搞了一个针对游戏的OpenGL子集:MiniGL,让ID Software的人只要在制作OpenGL时只使用MiniGL API做过优化就成,这样Quake总算可以用上voodoo的硬件加速能力了。这样也造就了一个新名词:MCD--MiniGL Client Driver,用于Windows的MiniGL驱动程序,而标准的OpenGL则依靠ICD驱动)。

TOP

OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。 OpenGL是个与.硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。
在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。
OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。
1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。
1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。
OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。
OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。
目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。

TOP

OpenGL历史和基本介绍

随着计算机图形学的发展,出现了各种三维图形工具软件包,如PHIGS、PEX、RenderMan等。但没有一种三维工具软件包在交互式三维图形建模能力、外部设备管理以及编程方便程度上能够与OpenGL相比拟。OpenGL,Open Graphics Libaray,是一个3D图形和模型库。它被定义为“一个图形硬件的软件接口”。OpenGL,在真实感图形制作上的优秀性能使之成为诸大公司的图形标准,所以OpenGL又是新一代的三维图形工业标准。OpenGL不仅是一个图形库,它更是一个应用程序接口——API。
将OpenGL称之为SGI(视算科技)的OpenGL毫不为过。OpenGL最初是SCI公司为其图形工作站开发的、独立于窗口操作系统和硬件环境的图形开发环境,其目的是将用户从具体的硬件中解放出来,完全不用理解这些系统的结构和指令系统,只要按照规定的格式书写应用程序就可以在任何支持该语言的硬件平台上执行。它源于IRIS GL,在跨平台移植过程中发展成为OpenGL。
SGI在1992年7月发布1.0版,后成为工业标准,由成立于1992年的OpenGL Architecture Review Board (ARB) ARB体系评审委员会控制。SGI等ARB成员以投票方式产生标准,并制成规范文档(Specification)公布,各软硬件厂商据此开发自己系统上的实现。只有通过了ARB规范全部测试的实现才能称为OpenGL,现在的ARB投票成员包括SGI、Intel、IBM、nVIDIA、ATi、Microsoft、Apple等公司。2001年8月ARB批准了1.1版本,随后推出了1.2,2002年7月24日通过的1.4版本,最新版本规范是2003年7月退出的1.5。最近,3Dlabs提出了OpenGL 2.0新的版本,在OpenGL2.0中注入新性能,突破OpenGL1.X版本难以跟上硬件发展水平的缺陷,希望在技术上超过DirectX D3D,成为图象图形世界的领先者。OpenGL2.0的目标,就在于启动并开发硬件的可编程能力。
OpenGL的最大特点是与硬件的无关性,独立于硬件和窗口系统。

  • 使用它,图形软件生产厂商再不用为各种不同的机型开发设计不同的软件,只要操作系统使用了OpenGL适配器就可以达到相同的效果。
  • 它可以运行在当前各种流行的操作系统上,如MacOS、Unix、Windows95/98/NT/2000、Linux、OPENStep、Python、BeOS等,并且很容易从一个平台移植到另一个平台上。许多计算机公司已经把OpenGL集成到各种窗口和操作系统中,其中操作系统包括UNIX、Windows NT、DOS等,窗口系统有X窗口、Windows等;
  • 各种流行的编程语言都可以调用OpenGl的库函数,如:C、C++、Fortran、Ada、 Java。许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,例如著名的GIS软件ARC/INFO。
  • OpenGL完全独立于各种网络协议和网络拓扑结构。OpenGL能在网络环境下以客户机/服务器模式工作,充分发挥集群运算的威力,是专业图形处理、科学计算等高端应用领域的标准图形库。
作为图形硬件的软件接口,OpenGL由几百个指令或函数组成。这些函数使得编程人员能够指定对象并对其操作,从而生成高质量色彩丰富的三维物体。它包括了120个图形函数,开发者可以用这些函数来建立三维模型和进行三维实时交互。与其它图形程序设计接口不同,OpenGL提供了十分清晰明了的图形函数,因此初学的程序设计员也能利用OpenGL的图形处理能力和1670万种色彩的调色板很快地设计出三维图形以及三维交互软件。

OpenGL是一套底层三维图形API,之所以称之为底层API,是因为它没有提供几何实体图元,不能直接用以描述场景。OpenGL不要求开发者把三维物体模型的数据写成固定的数据格式,这样开发者不但可以直接使用自己的数据,而且可以利用其它不同格式的数据源。通过一些转换程序,可以很方便的将AutoCAD、3DS等图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数据。这种灵活性极大地节省了开发者的时间,提高了软件开发效益。

使用OpenGL的典型描绘是:首先在帧缓冲区中定义一个窗口,然后在此窗口中进行各种操作。在所有指令中,有些调用简单的几何对象,另外一些调用将影响到这些几何对象的描绘,包括如何光照、着色、以及如何从用户的二维或三维模型空间映射到屏幕。

TOP

OpenGL特点

自从1992年诞生到现在,OpenGL已经成为业内最为广泛使用和支持的2D和3D图形应用程序接口,可以在不同计算机平台上开发出的成千上万的应用程序。OpenGL应用领域十分广泛,如军事、电视广播、CAD/CAM/CAE、娱乐、艺术造型、医疗影像、虚拟现实等。OpenGL具有可靠度高、可扩展、可伸缩、灵活、容易使用的特点。OpenGL具有一套渲染、纹理贴图、特效和其他功能强大的显示函数,从而促进了创新并加速了应用程序的开发。功能强大的OpenGL可以在所有流行的个人计算机和工作站平台上开发和使用,确保了程序的广泛应用。
OpenGL具有如下特点:([URL]http://opengl.org/[/URL] 文档)

  • 图形质量好性能高
    无论是三维动画、CAD还是视觉模拟,可视化计算程序都利用了OpenGL高图形质量、高性能的特点。这个特点使得程开发者在广播、CAD/CAM/CAE、娱乐、医学图象、和虚拟现实等领域中创造和显示出难以想象的2D和3D图形。
  • 工业标准
    OpenGL ARB(OpenGL Architecture Review Board)作为独立的联合委员会,制定规范文档(Specification)。随着业内厂商的支持,OpenGL成为唯一真正开放的、独立与供应商的跨平台的图形标准。
  • 稳定性Stable
    OpenGL在各种平台上执行已经超过十余年。OARB严格控制规范文档内容的增加,新增内容能够及时公开给开发者以便他们接受这些更改。OpenGL高版本兼容低版本,保证了已经开发的应用程序不会失效。
  • 可移植性和可靠性
    利用OpenGL技术开发的应用图形软件与硬件无关,只要硬件支持OpenGL API标准就行了,也就是说,OpenGL应用可以运行在支持OpenGL API标准的任何硬件上。
  • 可扩展性Evolving
    OpenGL最大的特点是与硬件无关的特征,因而具有很强的可移植性。但是,硬件是不断变化的,OpenGL如何保持可移植性呢?OpenGL扩展(OpenGL Extension)正是为这一目的而设计的。厂商只要提供OpenGL扩展,就可以轻松实现硬件特有的功能。利用OpenGL扩展OpenGL实现者(OpenGL Implementer)也可以添加新的处理算法。OpenGL是低级的图形API,它具有充分的可扩展性。许多OpenGL开发商在OpenGL核心技术规范的基础上,增强了许多图形绘制功能,从而使OpenGL能紧跟最新硬件发展和计算机图形绘制算法的发展。对于硬件特性的升级可以体现在OpenGL扩展机制以及OpenGL API中,一个成功的OpenGL扩展会被融入在未来的OpenGL版本之中。通过这种方法,程序开发者和硬件厂商能够在正常的产品周期中组合出新的产品。
  • 可缩放性Scalable
    基于OpenGL API的图形应用程序可以运行在许多系统上,包括各种用户电子设备、PC、工作站以及超级计算机。由此,OpenGL应用程序可以适应开发人员选择的各种目标平台。
  • 易用性
    OpenGL具有良好的结构,直观的设计和逻辑命令。与其他图形程序包相比,OpenGL只有很少的代码,因此执行速度高。另外OpenGL封装了有关基本硬件的信息,使得开发者无需针对具体的硬件特征进行设计。
  • 文档丰富
    OpenGL的书很多,有大量的源代码可以参考,OpenGL的资料很容易获得。

TOP

ATi推开源DirectX-OpenGL转换工具

近日,ATi(AMD)推出了一款开源工具HLSL2GLSL,能够帮助程序员将为Windows DirectX 9 API编写的代码转换为OpenGL。
  程序名称中的HLSL即微软专门为DirectX API开发的高级渲染语言(High Level Shading Language),而在OpenGL领域中,相对应的就是GLSL(OpenGL Shading Language)OpenGL着色语言。这款软件就能够将HLSL代码转换为GLSL代码,可以生成为GLSL 1.10.58 desktop OpenGL shader或者ES SL v1.00 embedded OpenGL ES shader。
  由于现在Windows平台上DirectX一家独大,所以这一软件的针对用户大多是致力于开发PC/Mac多平台游戏的程序员。各种文档,库文件和针对多平台的程序可以到这里下载。
查看:ATI offers DirectX - OpenGL converter
下载:HLSL2GLSL

TOP

Windows Vista 和 OpenGL 的事实

Khronos OpenGL ARB 工作组<?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o:p></o:p>
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-comffice:smarttags" /><st1:chsdate Year="2007" Month="4" Day="20" IsLunarDate="False" IsROCDate="False" w:st="on">2007420</st1:chsdate><o:p></o:p>
<o:p></o:p>
Khronos OpenGL ARB 工作组近日收到了关于澄清OpenGL Windows Vista上运行性能的请求。基于Microsoft 已经通过 Windows Aero 合成桌面效果和引入全新的显示驱动架构戏剧化地做出了用户体验的更改,这些疑问是可以理解的。本文将简要讨论这些改变如何影响着OpenGL。<o:p></o:p>
面对不断增长的行业用户在Windos Vista上发布OpenGL产品的需求, OpenGL ARB亦希望通过以下三个主要问题增强OpenGL图形算法标准与Windows Vista间的积极协作。
1)              Windows Vista 是支持完全OpenGL硬件加速的;<o:p></o:p>
2)             OpenGL应用程序是可以从Windows Vista 改进的图形资源管理中获益的;<o:p></o:p>
3)             OpenGLWindows Vista中的运行效能是完全可以匹敌其在Windows XP上的性能的。<o:p></o:p>
Windows Vista 全面支持OpenGL<o:p></o:p>

硬件加速的OpenGL是被Windows Vista和其Windows Aero合成桌面用户体验所完全支持的-这一点同Direct3D一样。<o:p></o:p>
Windows XP Windows VistaOpenGL硬件加速是以同样的方式实现的-即通过一个由图形加速卡制造商提供的可安装用户驱动包(ICD)安装实现。如未安装此OpenGL ICDWindows XPWindows Vista都将转为使用CPU软加速OpenGL 渲染而非使用GPU图形加速卡硬件加速。<o:p></o:p>
1展示了在Windows VistaOpenGLDirect3D经过何种途径完成输出渲染。首先,OpenGLDirect3D用户模式图形驱动从应用程序中取得数据并使用图形加速卡硬件渲染数据内容的帧画面。该帧之后被提交至桌面窗体管理(DWM),DWM将使用GPU加速将该帧画面合成写入桌面。在Windows Vista中,桌面合成功能是由Windows AeroWindows标准用户体验的DWM实现的。<o:p></o:p>
DWMWindows Vista用户体验的关键元素,其主要功能是实现多个程序输出的帧画面内容在Windows桌面上的合成并最终呈现于屏幕上。DWM自身作为一个全3D的应用程序,也是要消耗GPU内存和资源的,并将成为一项GPU的额外负担,其通常情况下将消耗10%的图形处理性能。用户应当根据自身情况权衡DWMWindows Aero用户界面体验与其所带来的性能开销之间的利弊。一个简单的增加应用程序效能的方法是通过选择Windows经典或Windows基本用户界面风格达到禁用DWM的目的。<o:p></o:p>
当运行全屏应用程序时,如全屏游戏状态,DWM是不再执行窗体合成的,因此性能将不会有丝毫下降。<o:p></o:p>

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shape id=_x0000_i1025 style="WIDTH: 6in; HEIGHT: 340.5pt" o:allowoverlap="f" coordsize="21600,21600" type="#_x0000_t75"><v:imagedata cropright="4915f" cropleft="2425f" cropbottom="4456f" src="23.files/image003.jpg" o:title="OGL vs D3D on vista"></v:imagedata></v:shape>


1OpenGL, Direct3D和桌面窗体管理(DWM)的关系<o:p></o:p>


<o:p> </o:p>


OpenGL从改源管理中受益<o:p></o:p>

新的Windows Vista窗体显示驱动模式(WDDM)提供了一个安全防火墙和Thunk Layer(其负责图形处理器硬件/内核模式图形驱动和用户模式图形驱动间的通信)来提高整体系统稳定性。这一架构不同于Windows XP,在Windows XPOpenGL 接口控制文件(ICD)直接与GPU硬件层面对话并掌握许多底层功能,包括内存管理。<o:p></o:p>
WDDM事实上提供了OpenGL应用程序一些潜在益处。例如,之前由OpenGL接口控制文件管理的图形资源,如显存,现在则交由操作系统虚拟。当多个应用程序运行时,OpenGL接口控制文件将可以为每个应用程序最大化开放材质存储空间,而资源分配和时序安排则由Windows Vista妥善处理,这将得到多程序运行时更有效的利用系统资源的结果。<o:p></o:p>
<o:p> </o:p>
OpenGLWindows Vista上具有极具争力的表<o:p></o:p>

一些人曾提出OpenGLWindows Vista上的效能不及其在Windows XP中的表现,这并非事实。<o:p></o:p>
这里提供一些OpenGLWindows XPWindows Vista上运行效能的对比数据,包括SPECviewperf 专业 OpenGL 应用基准测试,两个OpenGL 游戏基准测试,以及两个DirectX游戏基准测试。<o:p></o:p>
<o:p> </o:p>
专业OpenGL用程序性能<o:p></o:p>

SPECviewperf测试数据显示专业OpenGL应用程序在Windows XPWindows Vista上的图形处理性能及其接近。SPECviewperf在一个窗口内运行,在Windows Vista下为了达到最大图形处理性能我们通过选择Windows经典配色方案关闭了DWM<o:p></o:p>
这些数据令人印象深刻,其证实WDDM是一个完全不同于Windows XP的全新显示驱动模式,而新的Windows Vista驱动尚未从Windows XP OpenGL驱动的多年调整与优化中受益。<o:p></o:p>
软件开发者和图形加速卡制造商从200611月便进入Windows Vista的配套生产准备,Windows Vista中的图形处理性能必将伴随时间的推移和驱动的成熟继续提高。当然无论您拥有何种版本的Windows操作系统,从图形加速卡制造商处下载最新的驱动程序总是重要的-特别是在某个新操作系统的生命初期。<o:p></o:p>

<v:shape id=_x0000_i1026 style="WIDTH: 351pt; HEIGHT: 268.5pt" coordsize="21600,21600" type="#_x0000_t75"><v:imagedata src="23.files/image005.wmz" o:title=""></v:imagedata></v:shape>


<o:p> </o:p>
如果DWM通过选择Windows Aero界面被开启,系统图形处理性能将下降约10%。对于某些使用者而言这一为了取得更先进用户界面体验而付出的代价是值得的。<o:p></o:p>
OpenGL 性能<o:p></o:p>

Doom3 (demo1) Prey (move.demo) 的数据显示Windows Vista对于全屏OpenGL游戏的性能支持与Windows XP下不相上下。因为这些程序多是全屏运行的,DWM将不必工作,因此在Windows Aero下性能并没有下降。<o:p></o:p>

<v:shape id=_x0000_i1027 style="WIDTH: 327pt; HEIGHT: 249.75pt" coordsize="21600,21600" type="#_x0000_t75"><v:imagedata src="23.files/image009.wmz" o:title=""></v:imagedata></v:shape><o:p></o:p>


Direct3D 性能<o:p></o:p>

下图显示了Direct3D游戏Half Life 2 Episode One (demo1) Oblivion (Outdoor, HDR关闭) Windows XPWindows Vista中的性能。这些数据在与OpenGL基准性能测试相同的硬件平台及显卡驱动版本下取得。所有测试均运行于全屏模式下。<o:p></o:p>
这些数据同样显示了Windows Vista在全屏模式下的运行效能是与Windows XP相当的。同样的原因,当应用程序运行于全屏模式时,DWM是没有动作的,因此在Windows Aero下性能并没有下降。<o:p></o:p>
这些结果证明Direct3DOpenGL均是Windows Vista系统优秀的3D 应用程序接口API<o:p></o:p>

<v:shape id=_x0000_i1028 style="WIDTH: 326.25pt; HEIGHT: 249pt" coordsize="21600,21600" type="#_x0000_t75"><v:imagedata src="23.files/image015.wmz" o:title=""></v:imagedata></v:shape>


结论<o:p></o:p>

OpenGL已被完全整合入Windows Vista显示架构中,如Direct3D一样,二者均是一流的图形处理API<o:p></o:p>
Windows XP环境一样,图形加速卡硬件销售商提供高度优化的驱动程序用以实现OpenGL硬件加速。<o:p></o:p>
OpenGL 应用程序受益于Windows Vista提供的改进的资源管理。<o:p></o:p>
OpenGLWindows Vista中的表现完全可以匹敌其在Windows XP中的性能,并将伴随针对这一新操作系统日趋成熟的驱动支持迅速提高。<o:p></o:p>
增强的Windows Aero用户界面将降低高强度图形处理软件大约10%的表现。但这一损失可通过选择Windows经典或Windows基本用户界面风格以及使用全屏应用程序消除。<o:p></o:p>
为保证Windows Vista下的性能最大化和系统稳定性,建议用户定期检查其图形加速卡提供商是否有驱动程序升级。<o:p></o:p>
<o:p> </o:p>
OpenGL ARB出版的第三版OpenGL Newsletter,已包含一篇NVIDIA提供给软件开发者的关于在Windows Vista中取得最大化OpenGL应用程序性能技巧的文章。详情请参见http://www.opengl.org/pipeline/article/vol003_7/ (英文)<o:p></o:p>
<o:p> </o:p>
任何关于本文的,以及OpenGL的一般问题,请联络Khronos OpenGL ARB工作组主席Barthold Lichtenbelt [EMAIL="blichtenbelt@nvidia.com"]blichtenbelt@nvidia.com[/EMAIL] (仅限英文),中文咨询请联络Khronos中国 Walter Wen, [EMAIL="walter@goldstandardgroup.com"]walter@goldstandardgroup.com[/EMAIL] 并注明“译转Barthold Lichtenbelt ”。<o:p></o:p>
<o:p> </o:p>
参考目<o:p></o:p>

<o:p> </o:p>
General overview “What is Aero”:<o:p></o:p>
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI017_WH06.ppt <o:p></o:p>
<o:p> </o:p>
Overview of how DX9, DX10, GDI, OpenGL and the DWM are architected under the WDDM:<o:p></o:p>
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI034_WH06.ppt <o:p></o:p>
<o:p> </o:p>
OpenGL ARB article with tips for ISVs developing OpenGL applications on Windows <st1:place w:st="on">Vista</st1:place>:<o:p></o:p>
http://www.opengl.org/pipeline/article/vol003_7/<o:p></o:p>
<o:p> </o:p>
游戏测试结果基于一台配置为AMD Athlon 64 FX-62 2.8GHzNVIDIA GeForce 7900GTX图形加速卡及版本号为Version 97.73 for Windows XP的驱动程序,以及版本号为Version 101.20 for Windows Vista的驱动程序,运行于全屏模式。SPECviewperf测试结果基于一台双核Xeon 3.0 GHz系统,配备NVIDIA Quadro FX 5500 专业图形加速卡,以及版本号为Version 91.36 for Windows XPVersion 100.72 for Windows Vista的驱动程序。<o:p></o:p>
  <o:p></o:p>
OpenGLSilicon Graphics Inc的注册商标。SPECviewperf®Standard Performance Evaluation Corporation, www.spec.org的注册商标。所有其他产品名称,商标,和/或公司名称所有权均属于其各自所有者,并仅用于标识用途。

转载自http://www.khronos.cn/news/press/2007/04/23.shtml/ 随后排版

TOP

发新话题