百科问答小站 logo
百科问答小站 font logo



Windows 支持 DirectX 和 OpenGL,为什么大多数 PC 游戏还是 DirectX 开发? 第1页

  

user avatar   cun-zhi-gu 网友的相关建议: 
      

事实上在早年OpenGL即使在游戏领域也是对DirectX压倒性的优势。John Carmack曾嘲讽DirectX是“horribly broken” 的API。

直到DirectX6时代OpenGL都被认为是比DirectX更加优秀的API,即使那个时候DirectX已经有《CS》《极品飞车5》等大作的支持,却依然不受当时FPS游戏霸主id Software的待见。作为那个时代的显卡杀手,《Quake III》都仅仅只支持OpenGL。

DirectX7发布之后DirectX和OpenGL开始逐渐平起平坐。直到2000年DirectX8的发布才使DirectX在游戏领域完全确立了自己的优势 —— 支持革命性的programmable GPU rendering pipeline来代替原有的fixed function pipeline,引入了Vertex Shader和Pixel Shader。而OpenGL的核心正式支持programmable rendering pipeline已经是四年之后OpenGL 2.0发布的时候了。想想这中间会有多少游戏公司/游戏引擎公司会倒向DirectX吧。

说到OpenGL衰落的原因,不得不提到OpenGL开发的机制。OpenGL早期一直是由ARB (

OpenGL Architecture Review Board,成员包括Nvidia, ATI, Intel, Apple, IBM, SGI等等)成员共同维护。每个成员可以为了支持自己硬件新的feature来开发OpenGL enxtension, 所有成员一致通过的extension才能加入到下个版本OpenGL核心中。这就造成了不同成员为了各自利益互相斗争,拖慢了开发进度。微软曾经也是ARB的成员之一,后来因为受不了这种机制退出专心搞自己的DirectX去了。

如果一个API越流行,那么去学习这个API的人就会越多,游戏公司会越容易招到掌握这个API的图形程序员,也就会更多的基于这个API开发游戏。用这个API的游戏越来越多,就会更多的得到

硬件厂商的支持,为面向这个API的驱动做更多的优化,然后这个API就会更加流行。如此进入一个良性循环,这就造成了DirectX现在称霸游戏领域,OpenGL几乎绝迹的局面。

在06年从ARB交由Khronos Group掌管之后, OpenGL最近几年也迎头赶上,从性能,易用性来说其实和DirectX已经相差不大。但是在相比DirectX没有突出优点的情况下(除了跨平台),已经习惯使用DirectX的游戏厂商也不可能重新投出OpenGL的怀抱。

最后一点,OpenGL只是一个单纯的图形库,而DirectX是包含图形(Direct3D), 声音(DirectSound), 输入(DirectInput), 网络(DirectPlay)的一整套游戏开发解决方案。对开发者来说使用DirectX显然要方便的多。

/*******************************************************************************************************/

下面是我之前一个同事看完我的回答的评论,也贴上来吧。

“还有很重要的一点, GL从不淘汰任何老的API. DX10相对于DX9,是个全新的API,革命性的更新,彻底推倒重来. 但GL为了向后兼容,保留了很多对硬件和驱动都不友好的API.除了跨平台和早期对精度的要求比DX高,其他简直是一无是处”




  

相关话题

  为什么大部分rpg里人打怪物掉血多,怪物打人掉血少而且血厚?是为了打击感吗? 
  有哪些二周目依然有趣的游戏? 
  求助 哪位兄台知道这是什么游戏呀? 
  怎么看待游戏正在被更多的人认可? 
  想在家里买台电视玩主机/PC游戏,有哪些游戏电视推荐? 
  如何看待先玩盗版游戏,等到 Steam 打折时候再进行补票的行为? 
  为什么身边玩过3a游戏的大部分朋友原神都弃坑了,反而没玩过3a的朋友还在继续坚持? 
  作为一名游戏开发或运营人员,你在体验时遇到过哪些对你设计思路“特别有收获”的游戏作品? 
  如何设计一款世界上最无趣的游戏? 
  80、90 后来说说,当年的街机游戏有多好玩? 

前一个讨论
Shader的编写到底应该是美术的事情还是程序的事情?
下一个讨论
365个气象站最高气温破同期极值 ,和美国同期的寒潮有关系吗?





© 2024-09-16 - tinynew.org. All Rights Reserved.
© 2024-09-16 - tinynew.org. 保留所有权利