2015年,DirectX 12正式公布,当时许多玩家和开发者立刻就兴奋起来了。AMD的Mantle API虽然失败了,但它的效果有目共睹,而DirectX正是建立在Mantle的基础上的。微软承诺,Windows 10环境下的DirectX 12将让GPU效率达到史无前例的级别。
然而从 Windows 10发布已经过去了18个月,现实是目前仅仅有16款游戏加入了DirectX 12的支持,而后续的作品也没有预想中的多。为什么开发者不爱DirectX 12?这预示着它会失败吗?我们先来回顾一下历史:
尽管我们使用PC这么多年都是在和DirectX相伴,但在很早期很早期的时候,DirectX确实很晚才加入到3D硬件加速的狂欢当中的。在那个时候,游戏开发者要么使用专为3DFX Voodoo卡定制的Glide,要么为了支持更多的硬件,采用更开放的 OpenGL。
最终,微软的DirectX API为开发者提供了OpenGL之外的选择,只要有驱动程序,它就能够支持任何的3D加速卡。很快DirectX就充分发展了起来,拥有旗下一系列的Direct API,作用分工也各自独立,如Direct3D,DirectDraw,DirectMusic,DirectPlay和DirectSound。
值得一提的是,Windows 98是第一个整合了DirectX的操作系统。从此以后,DirectX就成为了Windows软件最重要的组成部分之一。即使是对相关技术了解不多的玩家,大致也能够明白它的重要性,在选购显卡、运行游戏的时候对DirectX的版本支持多加注意。
事实上这已经不是微软第一次用DirectX来吸引玩家更新系统了,比如DirectX 10就不支持Windows XP及以下的系统,正如DirectX 12只能为Windows 10和XBox One所用,Windows 7和Windows 8.1和它无缘一样。
再来看看数据
关于正在使用的Windows设备数量这个问题,一般公认的数字是12.5亿台。根据流量监测机构StatCounter在2016年12月公布的数据,40.23%的设备运行Windows 7;27.15%的设备已经安装Windows 10;即使是Windows 8.1也有8.43%的份额。
粗略地计算一下,我们大致可以认为DirectX 11的用户群有6.37亿,而潜在的DirectX 12用户则只有3.4亿。当然了,这其中对游戏不感兴趣,或是对DirectX 12没有需求的肯定有相当一部分,即使他们已经升级到了Windows 10。
当然了,以上的数据不一定能说明一切。如果你通过游戏平台Steam寻求答案,就会发现一个截然不同的结论。截止至2016年12月,已经有超过51%的Steam用户使用了Windows 10 64位系统,而使用Windows7的玩家只剩下36%了。而在Steam玩家的群体中,拥有能够支持DirectX 12的显卡的玩家比例竟然达到了72.24%。
从这些数据看,DirectX 12似乎潜力不小,从纯利益的角度来考虑,开发者们似乎也应该投入额外的开发成本去支持新的API。那么,问题究竟出在哪里呢?
真正的原因
面对DirectX 12如今遭遇的窘境,AMD的首席游戏专家理查德赫迪(Richard Huddy)曾经透露过自己的想法。他表示,其实DirectX 12的开局已经很好了,它的起步比DirectX 10和DirectX 9都快。在拥有DirectX 11这么个接受范围极广的前辈的阴影下,每年支持DirectX 12的新作数量事实上是多于DirectX任何一个历史版本的同时期表现的。
“然而最有趣的一点在于起步快并不意味着所有人都需要它。(DirectX 12)带来更底层的控制,同时却也增加了一定的复杂性 —— 而这会让许多开发者不情愿接触DirectX 12。事实上,如果一款游戏并没有受到GPU性能的局限,cpu单线程也不是它的瓶颈,那么DirectX 12能够给它带来的提升是很小的。”赫迪透露说。
这位游戏专家继续补充道:“对于这些开发者来说DirectX 11或DirectX9已经非常完美了。不过,对于那些在画质表现上有相当的野心的作品来,它们是肯定能从DirectX 12那里受益的。”
简单来说,即便DirectX 12确实在各个方面都比DirectX 11更强,但限于现如今的游戏技术已经发展到了一个很高的程度,并不是所有开发者都需要去挑战极限的。这一部分开发者经过权衡,认为使用现有的技术一样能得到很好的效果,那他们就不会花费额外的时间和精力去应用DirectX 12。
微软不着急
一直都很习惯下大棋的微软并不着急,它已经习惯了慢慢布局,为未来做准备。DirectX 12眼下受到的冷遇对它而言并不是一个很致命的问题,微软相信随着Windows 10的装机量逐渐提升,这些问题就将会迎刃而解。
如果你是一位玩家,还是一位总是不急着接受新系统的玩家,回想起自己从Windows 98到Windows XP,从Windows XP到Windows 7的系统升级史,就会明白随着新的软件和硬件逐渐抛弃掉过去的东西,自己即便顾虑再多也还是会选择跟上时代的。
这一点对于开发者们和制造商来说其实也是如此,微软想让前者接受新的API,让后者在新产品中为其提供支持,从来都是困难无比。过去是这样,现在也是如此。
值得注意的一点是,在Windows 10时代,微软可以说是前所未有地关注PC的游戏体验。微软已经确认,即将到来的Windows 10 Creators更新将加入所谓的“游戏模式”。尽管有关它的具体细节未知,但微软承诺游戏模式将让系统进入一个更适宜游戏的环境,从而提升性能和体验。
如果微软在Windows 10里为玩家们提供的全方位关照确实是有效的,那么我们可以想见“经受不住诱惑”的人将会越来越多。随着时间推移,新的系统终究会取代旧的系统,到那个时候DirectX 12就自然而然地成为主流了。不过在此之前,开发商们仍旧会冷落它一段时间。