当前位置: 首页 > 进口迷幻药 > DX12性能首次测试:完爆DX11!AMD大亮

DX12性能首次测试:完爆DX11!AMD大亮


/ 2020-08-14

  2014年3月份的GDC 2014游戏开发者大会上,微软首次公布了新一代DirectX 12。在沉寂了多年之后,AMD都忍不住提出了自己的Mantle API之后,微软终于重新振作起来,又将在游戏行业刮起“腥风血雨”。

  如今,Windows 10 Build 9926预览版其实已经包含了DX12。虽然还只是个早期版本,但是API正在稳定下来,驱动程序也在不断改进,微软还与Oxide Games合作推出了第一个支持DX12的应用/测试程序:《Star Swarm》(星群)。

  所以,我们终于可以谈谈DX12的性能了。能不能干掉AMD Mantle?能解决DX11上存在的CPU瓶颈问题吗?对比DX11进步能有多大?A/N卡表现有何差异?

  Windows 10本身都还“残缺不全”,作为其一部分的DX12自然还很初级,我们所能了解到的技术细节也不多,因此今天做的只是一个初步预览,和最终表现肯定会相去甚远,这一点要时刻牢记。

  下个月我们将迎来GDC 2015,到时候必然能看到微软及合作伙伴公布更多关于DX12的细节和进展。

  历史上伴随DirectX的每一次升级,微软都会给出新的WDDM(Windows显示驱动模型),DX12就带来了全新的WDDM 2.0,这也是该技术自Windows Vista诞生以来最大的改变,将会重写整个Windows GPU生态系统。

  WDDM 2.0的变化之大,显卡厂商正面临着严峻挑战,驱动程序一定要跟上。AMD、NVIDIA目前都在进行这项工作,结果就是不同型号显卡对DX12的支持情况会有很大差异(不管是技术上还是市场上)。

  AMD HD7000/R200系列用的是第一代GCN架构,同样没有被忘记,但目前也是问题最多的,尤其在纹理方面。

  NVIDIA 开普勒/麦克斯韦两大家族都可以支持DX12,也就是GeForce 600系列起步,进展还算顺利。

  更老的费米GeForce 400/500系列也得到了NVIDIA的承诺,但暂时还未启动相关工作。

  但是记住,现在说是支持DX12,并不代表在API、特性级别(Feature Level)上都是百分之百支持的,尤其是微软引入的特性级别这个概念,很容易让人眼花缭乱。

  更乱的是微软还搞了个DirectX 11.3,对应着FL 11_3,是一个高层API,和底层的DX12并不冲突,而是在功能特性上相通,且长期共存。

  这其实并不完全是出于市场方面的考虑,技术上让DX12区支持Windows 7/8/8.1也是相当困难的,因为WDDM 2.0是系统内核组件,支持老系统需要大幅度重新改写系统内核,这工作量根本不值得。

  另外,这也给AMD Mantle、OpenGL留下了更多发展空间,它们都可以继续吸引那些想留在Windows 7/8.1系统上的玩家。

  《星群》其实是个演示DEMO,2014年初就有了,当时用来展示Oxide Nitrous游戏引擎,以及AMD Mantle,因为产生的渲染调用(draw call)规模庞大(可超过10万)而成为压榨GPU性能的利器,也非常适合测试底层API。

  因为是个理想化的基准测试工具,《星群》能将DX12的性能发挥到极致,因此未来在实际游戏里看到的情况肯定会有所不同,但这至少能反映出DX12的实力。

  《星群》的场景是两队AI太空舰队厮杀,随机性非常大,不过它有个RTS模式,可以基本确保每次测试的结果有可比性。

  本次测试中,所用显卡驱动NVIDIA提供了349.56版本,AMD则提供了15.200版本。微软表示,现阶段的DX12环境还存在一些内存泄露、性能优化不足的问题,建议显卡显存不要少于3GB,不过实际测试中2GB也挺好的。

  CPU选择了一颗Core i7-4960X,但除了六核心十二线GHz的原始状态,还屏蔽部分核心与频率,模拟了四核心四线GHz,双核心四线GHz(缓存没法控制但影响不大),看看不同核心数量的差异。

  DX11的一大局限就是在多核心上效率不足,存在很大瓶颈,换言之就是多线程支持不到位,这也是DX12的重点改进方向之一。

  DX11到DX12的性能堪称飞跃,是数倍的提升,也消除了核心数量限制,双核、四核都有着不错的提升,但是超过四核之后CPU不再是瓶颈,也就看不到什么再提升了。

  但是GTX 980、R9 290X的差异有点大,DX12之下前者快了一半多,DX11之下更是三倍的差异。虽说两款卡本身就有差别,但这也有点离奇。

  在不同显卡上考察双核、四核的差异,可以充分反应DX12的效率之高,只有GTX 980这样的显卡才让双核心有点跟不上。换言之,除非你用的是超高端显卡,未来的DX12游戏里双核就足够了!

  A/N差异同样值得玩味,DX11 A卡都超过了110毫秒,N卡则只有30毫秒左右,不过AMD Mantle再次亮了,开启后能基本接近DX12的水平了!

  不出所料,DX11下的CPU负载很不均衡,只有一两个核心在努力工作,DX12下就基本可以用到全部四个核心了,Mantle也不错。

  虽然说系统、驱动、API、应用都在开发之中,出现这种情况也不意外,得看能不能保持到最后,但是再看看DX11下,就知道A卡确实惨了点。

  换成双核心,情况也差不多,除了GTX 980 DX12下略微紧张一些之外,其他发挥都很正常。

  不过注意看GTX 750 Ti,它在DX12下的提升并不大,26%的幅度元远没法和两款高端型号相比,因此如果你的N卡不怎么高端,处理器就不能太弱。

  虽然今天的核心是DX12,不过考虑到AMD Mantle推出更早,效果也不赖,甚至可以说DX12都汲取了它的影响(微软和AMD谁也不谈这个),所以再来看看二者之间的对比。

  四核心,Mantle完爆DX12,从高到低每一款显卡都能胜出,和初期高低不均匀的情况完全不同了。

  双核心下,Mantle表现差了点,搭配低端卡还能胜过DX12,但是越高越不行了,R9 290X上落后很明显。

  Mantle的本意就是发挥底层API,降低对CPU的要求,从而让自家主打中低端的产品发挥更好,但如果需要四核心才能发挥自如,那可是个问题。

  Oxide Games对此做了一些解释,称《星群》可以向GPU发送大批量工作负载,容易导致GPU指令处理器成为瓶颈,为此AMD Mantle对小批量工作做了优化,让CPU分担一部分工作,消除了瓶颈,但也导致CPU工作加重了一些。尽管这么做效率不如DX12,但仍然比DX11好得多,不失为一个很好的解决方案。

  如果我们关闭这个优化,会发现Mantle的提交时间减半,和DX12就相差无几了,甚至更好那么一点点。

  之前的测试都将画质设到了最高,但是低于很多玩家来说,中等画质更现实一些,可以在画面、速度方面取得更好的平衡。

  CPU方面,即便是降低了画质,也只有GTX 980搭配双核心的时候存在瓶颈,其他时候双核心都挺好。

  GPU差异同样和最高画质时差不多,A卡要做的还很多,光有Mantle可不够。GTX 750 Ti则依然是DX12下提升最小的,双核心时仅仅14%。

  这几年大家应该都了解到了,影响游戏体验的不仅仅是最高、最低、平均帧率,还有帧渲染时间,只有它稳定如一,才能保证游戏线在这方面是否有改进呢?

  注意:本次测试中的帧渲染时间都是《星群》本身记录的,可能不是足够精确。测试在四核心、最高画质下进行。

相关文章

推荐阅读