API改变游戏 Driect X12引领硬件市场新变局
- 来源:PC电脑王 smarty:if $article.tag?>
- 关键字:流水线,画面效果,游戏 smarty:/if?>
- 发布时间:2015-06-02 12:50
作为最流行的底层API,微软DirectX被广泛使用于Microsoft Windows、Microsoft XBOX、Microsoft XBOX360和Microsoft XBOXONE电子游戏开发,并且只能支持这些平台。由于Windows在操作系统上处于近乎垄断的地位,所以DirectX也就顺理成章地成为了厂商必须遵循的规范。从1995年Direct X1.0发布到去年Direct X12公布,已经过去了整整20年,这20年间,在Direct X的支持下,游戏画面发生了天翻地覆的变化,同时对显卡行业也产生了重大的影响。随着Windows 10的发布,全新的Direct X12(以下简称DX12)将为我们带来更大的变化,而这一次,影响的可能不仅仅是显卡。
1 Direct X12的新特性及硬件支持
DX 12最重要的变化之一就是更像底层API,在这方面,DX 12和AMD Mantle非常相似。在硬件抽象层上走得比以往更深入,能够同时减轻CPU、GPU的过载(overload)。具体包括:应用可追踪GPU流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的API和驱动跟踪、可预判属性等。
DX 12另一个值得我们关注的变化就是其大幅提高了多线程效率,可以充分发挥多线程硬件的潜力。这个多线程指的不是显卡,而是多核心处理器。虽然DX 11已经较好地支持了多线程,但由于运行时、驱动过载的影响,每个核心仍然浪费大量的闲置时间,DX 12则能将几乎每个核心的所有潜力都挖掘出来,而且可以做到随着核心数量的增长,性能几乎线性提升。
微软举的例子是3DMark。将其导入支持DX 12之后,可以发现CPU利用率提高了50%,同时在各个核心之间的负载分配也更加均衡了。DX12模式的3D Mark 11某环节测试时间可以比DX11缩短大约32%,其中显卡花费时间更是节省了整整一半。
另外从负载分配情况可以看出,DX 11下有多个环节都只能由同一个核心执行,大大降低了效率、浪费了时间,DX 12则能让所有核心共同参与执行,尤其是在驱动环节。
简单地说,DX 12虽然是图形开发规范,但是有了它,应用、游戏就能以超高的效率发挥多核心处理器的优势,充分利用硬件资源。
另外,DX 12还带来了更底层的API和跨平台移植效率。这一点同样和AMD Mantle有着异曲同工之妙,只不过Mantle局限在AMDGCN架构显卡上,而DX12则是通用的。
在硬件支持上,NVIDIA的开普勒、费米、麦克斯韦架构全部都支持DX 12,也就是GeForce200系列以来的型号都可以,DX 11的都行。AMD方面,所有GCN架构的显卡均支持DX 12,也就是Radeon HD7000、Radeon R200系列。Intel第四代Haswell开始可以支持DX 12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e IrisPro 5200。值得注意的是,高通也正在优化自家的骁龙处理器,以全面支持DX 12。需要注意的是,微软在公布DX 12的时候,曾告诉过大家DX 12还有多项特性并未公布,所以现在宣布支持DX 12的N卡和A卡,暂时还只能确定只支持部分DX12特效,到底能不能支持完整的DX 12还很难说,不过从业界的一贯风格来看,等Windows10正式推出后,大家估计还需要购买新的显卡才能体验到完整的DX 12。
2 AMD处理器借DX12再度崛起?
虽然AMD的处理器架构理念看上去很先进,在核心数量和多核性能上也表现不错,但是不得不承认在单核心性能上AMD和Intel还是有一些差距,以至于在整体表现上Intel的处理器看上去会更好一些。对于游戏玩家来说,虽然多核心的概念已经出现了很多年,但是到目前为止,大部分游戏对多核心多线程的支持依旧很差,这也就是为什么有些时候会出现四核的AMD处理器在游戏中的表现还不如双核的Intel处理器这样匪夷所思的现象。这对AMD无疑是一个很大的打击。
而DX 12的出现或许能帮助AMD改善这一窘境。前面我们也提到,DX 12和过去的版本相比,很大的一项改进就是大幅提升了对处理器多核心多线程的利用率,可以彻底发挥多核处理器在游戏中的性能。微软宣称,DX 12对多核心CPU的利用几乎是完美线性增长的,换句话说,也就是四核心的游戏性能能够接近或达到单核心的四倍。如果真如微软所说,那么AMD处理器的多核心多线程能力将在DX 12中得到释放,弱势的表现或许将彻底改变,凭借不错的性价比,AMD多核处理器或许能再次成为玩家首选的游戏处理器,处理器市场的格局或许会发生不小的变化。而Intel将会如何面对这一改变,玩家们也只需坐等好戏。
3 TV游戏和PC游戏更加同质?
熟悉TV游戏和游戏主机的玩家都会发现,虽然TV游戏主机的配置看上去远落后于PC,但是游戏性能和画面效果却能超越配置更高的PC,相信大家还记得当年《生化危机4》在TV游戏主机和在PC上表现出的巨大画质差异。这其中的原因和底层API有着莫大的关系。作为一款TV游戏主机,其使用的定制版硬件和系统都是为了游戏服务,作为一个封闭的系统,TV游戏主机可以更加深入地利用底层API去挖掘硬件潜力,实现更高的硬件利用率和游戏性能。而PC主机则不一样,PC主机要保持开放性和兼容性,去实现更多的应用环境,所以硬件上无法做到和TV游戏主机那样对游戏深入底层的优化,所以在效率上显然无法和TV游戏主机抗衡。
DX 12的出现则可能会改变这一格局。DX 12的一大特点就是提供了更加底层的API,开发人员可以借此更深入硬件底层。虽然DX 12目前所表现出的效率还略低于Mantle,但是已经展现出巨大的实力。而AMD已经明确不再继续开发Mantle,所以DX 12就是未来最佳的底层API了。借助DX 12,未来PC主机的游戏性能将进一步提高,达到TV游戏主机的性能也并不是一句空话。
从另外一个方面来看,次世代游戏主机PS4和XBOXONE都采用了AMD APU架构,虽然目前都有着不错的游戏画质和性能表现,但是DX 12的到来,将让高端游戏PC的游戏性能和画质超越TV游戏主机。而次世代游戏主机的更新换代可能也会变得更快,甚至直接被PC所取代。再加上DX 12带来了更为方便的跨平台移植,所以未来游戏大作的多平台发售也会变得更加简单,TV游戏和PC游戏的界限或许更加模糊。
4 比驱动更加给力的“兴奋剂”?
对玩家来说,更新显卡驱动带来的游戏性能提升是能实实在在感受到的,而DX 12则能提供更加恐怖的性能提升。在公布DX 12的时候,微软曾宣称,“DX 12的效率将比DX 11提升50%”。如果真如微软说的如此高效,那么我们简单地试想一下,一款游戏的DX 11版如果只有20fps,那么DX 12版将有30fps的表现,这10fps的提升直接决定了游戏表现是卡顿还是接近流畅运行。这对于拥有中低端显卡的玩家来说,无疑是一个好消息。但是从另一个方面看,仅仅一个API的升级就带来如此巨大的性能提升,恐怕硬件厂商并不买单,实现起来可能也没有这么容易。
写在最后
之前DX的版本更迭,更多是在游戏的画面效果上下工夫,而本次DX 12相比DX 11,并没有太多关乎特效的提升。和Mantle一样,DX 12更在乎运行效率的提升。在改变显卡效率的同时,DX 12对处理器多核心性能的提升也是非常巨大的,多核心多线程在多年之后终于将要迎来一次性能上的爆发。同时,PC平台终于能够借助DX 12在游戏性能上和TV游戏主机平起平坐。可以说,DX 12将是PC游戏历史上一次新的飞跃。