硬件加速的选择OpenGL、DirectX

来源:互联网 发布:js 字符串转对象 编辑:程序博客网 时间:2024/06/05 19:03
OpenGL、DirectX并行发展

作为两大图形API阵营,OpenGL和DirectX在各自的发展中形成鲜明的特点:即便处于目前的低潮状态,OpenGL仍然牢牢把持着专业绘图领域,而DirectX在此毫无竞争力,功能更强大的OpenGL 2.0无疑将继续保持垄断性地位。但在3D游戏领域,OpenGL的确是处于弱势地位,但它也没有丢光所有的市场,若OpenGL 2.0表现理想,重新赢得广泛支持也并不困难。而DirectX 9已经牢牢在游戏中站稳了脚跟,凭借领先的功能特性和微软在操作系统方面的先天优势,DirectX 9及未来的DirectX 10理所当然会成为多数游戏开发商的首选,它的应用范围除了3D游戏还涵盖2D游戏领域,这正是OpenGL所欠缺的。

其实,OpenGL和DirectX并不是完全对立的,二者存在一定的竞争又需要进行相互协作, ARB公布OpenGL 2.0的改进和开发计划后,微软表现出异乎寻常的兴趣,而ARB的各个成员也在3Dlabs的带领下抛开分歧进行紧密的合作;各成员表示未来将专注于实现OpenGL 2.0的开发目标,而不再会为了自身利益让OpenGL变得一团糟,就连一向针锋相对的nVIDIA与ATI也致力于彼此技术的整合。ARB集体宣誓:“所有送至OpenGL的创意想法,一经采用,便免费公开给所有人使用。”相信这种开放性的做法有助于OpenGL在技术上继续保持领先。至于DirectX体系,微软一直没有放弃进入高端的想法,但它注重的还是PC娱乐平台,在下一代DirectX版本中,我们可以看到更多更先进的功能特性,相信这也将继续成为图形业发展的指导方向——当然这只是针对PC而言。



API规格与显卡的性能

支持何种API是显卡分代的标志,这在DirectX规格上体现得极为明显。许多用户往往认为支持DirectX高版本的显卡可以提供更理想的性能,其实这是一个误区。我们知道,API只是函数的集合,它自身不决定任何东西,只是充当游戏和显卡硬件之间的媒介、让游戏和显卡都不需要为兼容性问题而烦恼。而不同版本API的区别在于函数库的差异,高版本的API总是提供数量更多、功能更强的函数,游戏开发商利用这些函数可以创造出各种各样的特效。如果图形芯片可对此API提供支持,那也就意味着基于该图形芯片的显卡可以将这些游戏特效完美展现出来,无法支持该API的图形芯片将无法识别游戏特效调用的函数库,自然就无法正常运行。

但API自身与图形芯片的硬件性能没有任何关系,图形芯片的性能取决于其核心设计和运行频率,API只是提供功能方面的支持而已,所以认为具备高版本API支持的显卡一定比采纳低版本API的显卡速度快是没有道理的,举个例子,支持DirectX 8的GeForce4 Ti4600肯定比支持DirectX 9 API的GeForce FX5200速度更快,当然,我们可以说高版本API支持总是比较“好”的,因为它可以支持更多的新游戏。


3dfx Glide的崛起与衰落

3dfx是计算机3D时代的开创者,1995年11月,3dfx推出Voodoo加速卡。凭借令人惊叹的3D效果,Voodoo得以风靡市场、最终成为不朽的神话。3dfx迅速发展壮大并在1997年达到最巅峰。为了配合自己的硬件技术,3dfx推出专门针对Voodoo系列的API:Glide。Glide提供了完整的三维图形开发环境,开发者可以使用其最高层的API创建和操作各种复杂的三维对象。Glide支持立即模式和驻留模式,前者与OpenGL类似、需要向图形芯片提供画图命令,优点是可提供精细的控制;后者则采纳面向对象的编程结构,场景几何数据被存储到一个对象数据库中,程序员无需掌握三维对象内部结构的知识就可以通过对象调用来进行各种各样复杂的操作、具有优良的易用性。此外,Glide支持Voodoo提供的一系列先进硬件特性,例如镜面高光、阿尔法透明处理、动画贴图、反锯齿等等。由于功能强大、稳定性和易用性都相当出众,Glide被认为是当时最理想的3D图形API,加上3dfx在图形行业的霸主地位,各游戏开发商顺利成章地选择Glide来开发产品,所以在当时,几乎所有的3D游戏都是以Glide作为基准,而它也确实不负众望。

不过,Glide有一个致命的缺陷:它是3dfx专属性的图形接口,其他图形芯片制造商无法对其提供支持,导致nVIDIA、Matrox、S3等竞争对手选择了微软的DirectX API。虽然一开始DirectX功能简单、设计糟糕,但在3.0版之后,DirectX逐渐变得成熟,越来越多游戏开始对其提供支持。由于人所共知的原因,3dfx在1997年之后迅速没落,专用的Glide API已经对游戏开发商毫无吸引力,这个时候,Glide逐渐被抛弃、慢慢消失在人们的视野中。1999年12月,困境中的3dfx终于决定将Glide完全公开,但这个时候已经没有多少人对它感兴趣了,强大的OpenGL和成熟中的DirectX成为游戏开发商的新宠。
原创粉丝点击