为什么PC游戏开发者更喜欢DirectX而非OpenGL?

KoraManuja


首先,directx是由微软创建的多媒体编程接口,遵循的编程语言为c++。他被创建为丰富各类应用程序的平台,很多程序可以通过此类接口来丰富自己的图形,.视频,3D动画效果等。简单来说,游戏开发者开发游戏的时候需要考虑不同品牌硬件驱动,如果针对不同硬件编写各自所需的驱动程序,那程序员的工作量十分巨大,这时候directx便提供了一个共同的硬件驱动标准,简便了用户设置硬件的复杂度。


再来看opengl,中文名称为开放图形库,是一个开源的图形程序接口,从名称上来看就很容易看出他与前者的区别,OGL是一个专业的图形程序接口,是在各类硬件设备上的高性能图形处理软件开发的工具。他也成为近几年绘图工具的业内标准了。

至于说为什么游戏开发者更青睐于directx,因为他是专门针对游戏开发研发的工具,OGL则是一门绘图程序接口,在游戏开发上存在一定的局限性。并且OGL开发进展极为缓慢,最近也并没有太大的更新,优势也逐渐丧失。反观directx,虽然在图形处理方面远远不及OGL,但他用途极为广泛,各类组件能完美优化硬件功能,不止是图形方面,声音处理等其他方面都能得心应手。


游戏达人小喇叭

游戏开发者更喜欢DirectX而非OpenGL是题主的错觉,就算是微软自己的Windows平台也没有数据调查表明DirectX比OpenGL的市场占有率高,笔者本身不想陷入D派和O派的争端中去,因为那没有意义。目前线上游戏开发都是通过游戏引擎制作,而主流的虚幻4和Unity包括开源渲染引擎Ogre同时支持DirectX和OpenGL,cocos只支持OpenGL原因是cocos最初是为IPone开发游戏历史遗留下来的。目前的独立显卡设备包括核心显卡也同时支持OpenGL和DirectX渲染。DirectX只是微软自己的,出了Windows就不能用了,而OpenGL是跨平台而且开源的,它的应用范围更广,支持各种操作系统和硬件设备。所以游戏开发者选择什么图形库取决于它采用的游戏引擎和游戏的发布平台。作为开发者而言,在使用引擎的同时并不太关心采用的渲染API是OpenGL还是DirectX,二者之间也没有性能差异,这个引擎已经为我们封装好了,一般不会去动,而且有些引擎是闭源的,你也没办法去修改。我是潇潇,如果大家有什么想法和建议,欢迎在下方留言。


游戏开发者潇潇

因为在Windows系统下,默认安装时,微软公司不给安装OpenGL驱动程序,默认安装的是DirectX驱动程序。用户想用OpenGL需要自行下载对应显卡的驱动程序,而大部分用户是小白,不知道如何安装显卡驱动程序,这样游戏公司为了照顾这大部分的用户而选用了系统自带的DirectX。这只是商业原因,与技术无关。相反的,在手机系统上,OpenGL一统天下,也是因为iOS和Android自带OpenGL驱动程序,苹果和谷歌公司自然也不会选择微软的DirectX技术。


linghuye

以后 是vulkan的天下了,你说的 opengl 早已经是上一代的东西了,新一代的 gpu绘制标准api与 前一代,有质的不同,加强了cpu,gpu之间的 协同效率,如果在 绘制开发中 运用得当可以明显的提升,渲染效率


分享到:


相關文章: