百科问答小站 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高,其他简直是一无是处”




  

相关话题

  怎样评价炉石主播 Sol 君? 
  关于《赛尔号》手游 ,你们有什么看法? 
  游戏行业从业人员出路在何方,如何找女朋友和规划人生? 
  如何评价游戏《生化危机 8》主角伊森的结局? 
  现在入行游戏开发前景如何? 
  你为《原神》游戏创作过哪些同人绘画作品? 
  如何看待《原神》中的角色「香菱」? 
  《金庸群侠传》中,如何设计一条能够通关的最短路径? 
  女朋友对你说「游戏重要还是我重要」该如何回答? 
  你为什么卸载《原神》? 

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





© 2024-11-23 - tinynew.org. All Rights Reserved.
© 2024-11-23 - tinynew.org. 保留所有权利