近有关AMD Mantle API有助于提高游戏性能的话题被炒得热火朝天,本刊之前的文章中也对Mantle系统进行过一些介绍。纸面上看,Mantle系统的效果很美好,但实际中的效果究竟如何,能否达到传说中那样惊人的性能提升呢?本文就对目前支持Mantle API的游戏《战地4》和《神偷4》进行了实际测试,可让大家一探究竟。
Mantle是AMD推出的一个全新API技术,被AMD新发布的Hawaii架构Radeon R9 290系列等显卡率先支持。相比DirectX等主流API,Mantle具有针对AMD显卡进行优化,更能发挥游戏性能的特色。在本刊之前的内容中,曾有过关于Mantle技术的详细介绍和分析。在此,我们只想再次强调下Mantle的意义,它是我们有兴趣测试Mantle API的原动力。
GPU发展了这么多年,从初核心内集成数百万个晶体管到目前的多71亿晶体管,主要倚重的还是制作工艺的进步,加大了晶体管密度。再配合架构改进,成功推动了GPU性能的快速进步。但是随着制作工艺的水平越来越接近目前的物理极限,GPU晶体管数量进一步扩大的潜力削弱,性能发展速度也因此慢了下来。GPU如果还要像之前一样保持高速发展,而今之计是在架构设计和软件优化上下功夫来的更为实在,也相对更可行。
架构设计不需要说了,AMD和NVIDIA都是这方面的专家,也一直在做这方面的努力。从近两代两家产品架构变更时带来的惊艳进步看,架构的改进还是颇有成效。但是软件方面目前显得不是很乐观。自从微软的DirectX规范雄霸图形API世界后,无论是AMD、NVIDIA还是游戏厂商等,都只能在Direct X下进行开发和拓展。虽说Di rectX也在不断发展,但它的效率和性能提升却远不及硬件的更新幅度。发展至今,DirectX的软件架构体系中诸多潜在问题开始显现,尤其是CPU- GPU这两个性能芯片的数据调配、资源使用效率等,都谈不上很高效。
AMD在官方PDF中介绍有关Mantle的内容。Mantle的中文意思为“地幔”,AMD似乎在隐喻着Mantle在系统中的作用,就像地幔一样连接着硬件驱动(核心)和软件层(表层)。
目前有很多游戏厂商开始支持Mantle,寒霜3引擎是第一个提出对Mantle支持的知名游戏引擎,基于寒霜3引擎的游戏数量和质量一向名列前茅,支持力度不可小觑。
在DirectX 9之前的时代,DirectX保持了高速发展的态势,快速发展给DirectX带来了颇多的新功能,也让人们看到了图形技术发展的方向。但进入DirectX 10,尤其是DirectX 11时代后,DirectX的发展速度变慢了很多,目前的DirectX 11还是五年前发布的版本。其原因除了硬件和软件的开发速度难以匹配外,还有一个主要原因就是目前的DirectX 11本身太难用,效率存在问题,导致在大量主流硬件上运行效果不太理想。
为了解决这个问题,AMD想了一个新办法。之前的游戏、GPU和CPU之间的控制操作,中间的沟通和数据调配几乎全部都是由DirectX来完成,Direct X起到了关键的中间层作用。然而微软毕竟不是AMD,它们并不完全熟知显卡的底层设计,导致DirectX在调度硬件时的效率难以让人满意。而AMD非常熟悉自己的硬件、软件结构,那么为什么不使用一种全新的中间层来替代掉DirectX调度硬件时效率低下的部分,从而提升整体运行性能呢?于是,经过长期的研发,在GCN架构上,AMD推出了名为Mantle的API。
根据AMD的数据来看,Mantle能够带来非常明显的理论性能提升。比如Draw Call的数量多可以提升到十万个,同时能保证比较流畅的帧率。此外,Mant l e对多核心CPU的多线程利用也远远好于普通的DirectX。AMD希望和游戏厂商、引擎厂商来共同推广Mantle,使得其能够在AMD GCN显卡上良好运行,也希望游戏设计时就考虑采用让Mantle中间层来部分替代行业内一直约定俗成的DirectX。希望通过软、硬件高效结合的方式,让AMD显卡在采用Mantle API设计的游戏中获得更为出色的性能。
由于Mantle是一个全新的API,且并非独立于DirectX系统自成一派,而是依附于DirectX运行。因此,如果要体验到Mantle的技术魅力,除了需要准备GCN架构的新系列AMD显卡,还需要在软件上做好准备。软件方面,游戏必须使用支持Mantle的版本,AMD催化剂驱动程序必须使用支持Mantle的版本,目前新的版本是催化剂14.3beta。另外值得一提的是,目前AMD的Mantle也可以对A PU进行性能加成,但好是目前新Kaveri系列APU,诸如A10-7850K等型号。
AMD目前正在和大量的游戏厂商、游戏引擎厂商合作,力求在未来多款游戏中能够加入对Mantle的支持。截止现在,包括“寒霜3”、“CryEngine 3”等著名游戏引擎都确认可以提供对Mantle的支持。游戏方面,目前已经发售的游戏中,确认有三款包括《战地4》、《神偷4》已经具备Mantle支持、《极品飞车:宿敌》即将提供对Mantle支持。此外,还有多达十余款游戏,准备在未来提供对Mantle的支持,包括《星际公民》、《植物大战僵尸:花园战争》、《狙击精英3》、《龙腾世纪:审判》、《哈瓦那》、《火星》、《质量效应》系列某款游戏、《镜之边缘2》、《星际掌控》、《星球大战:前线》等。
接下来,本文将对目前已经支持Mantle的两款游戏—《战地4》和《神偷4》进行相关的性能测试,看看Mantle究竟能在DirectX系统的基础上,带来怎样的性能提升。
为了确切地体验在有Mantle辅助后,系统相比单纯DirectX环境下的游戏优势,我们将重点测试、对比同硬件平台在《战地4》和《神偷4》中开启、关闭Mantle技术前后的性能变化。
测试中,为了尽可能地贴近用户使用习惯,在《战地4》中开启了4倍MSAA,地图选择了多人场景中的Siege of Shanghai。对比显卡选择了Radeon R9 290X/280X和GTX 780Ti/770。在我们此前的测试中,GTX 780Ti 在Direct X环境下的性能要略强于R9 290X, GTX 770略强于R9 280X,但两块N卡并不支持Mantle。R9 290X/280X则能同时支持DirectX和Mantle。在开启Mantle后,R9 290X/280X究竟能有怎样的表现,能否超越自己的Direct X模式,又能否逆袭Direct X环境下的GTX 780Ti、GTX 770呢?
从测试成绩来看,Mantle效果明显,开启后R9 290X的表现相比纯Direct X环境获得了大约14%~17%的性能增长。这样大幅度的性能增长,也使得R9 290X、R9 280X在游戏时的绝对帧数成功逆袭了GTX 780Ti、GTX 770。不仅如此,新的AMD显卡催化剂驱动还带来了游戏稳定性的改进,在游戏低帧数和游戏卡顿等细节处又有了大幅度的优化和改进,整体游戏体验更为流畅、舒适。
遗憾的是Mantle版《战地4》还存在一些小问题。早支持Mantle的《战地4》版本,存在Mantle模式画面和纯Direct X版本有明显差异的问题。后来DIEC称是他们的代码出现了问题,并联合Mantle修正问题。随后游戏更新以及AMD催化剂驱动更新后,Mantle模式的画质和Direct X版本不一致的问题得到改善。在目前的游戏中,Mantle版《战地4》和Direct X版本画质只存在些许不太明显的的差异,比如远处景物DirectX版本略微鲜明一些等,但总的来说两者画质差距极其微小基本可以忽略不计了。倒是Mantle带来的性能提升振奋人心,相当于免费让玩家的显卡性能升级了一个档次。
《神偷4》的测试结果和《战地4》基本相当。AMD显卡在Mantle的加成下都有了比较明显的性能提升。此外,《神偷4》基本不存在Direct X和Mantle不同版本画质表现不一致的情况,目前没发现任何显著差异。
CPU Core i7 4770
主板 英特尔Z87
内存 DDR3 1600 8GB×2
显卡 AMD Radeon R9 290X、NVIDIA GeForce GTX 780Ti、AMD Radeon R9 280X、NVIDIA、GeForce GTX 770
驱动程序: AMD催化剂驱动14.3beta,NVIDIA驱动程序335.23
测试分辨率 1920×1080
AMD对Mantle的性能提升幅度并没有详细介绍,而是说高53%。就我们的测试情况来看,高端显卡的提升幅度更大。我们猜测其原因很可能是Mantle作为API调度层,并不会对GPU本身的计算能力带来什么影响。而是意在降低CPU GPU之间的信息延迟并产生更多的细化执行命令,提高并行处理能力。这样一来,对高端显卡而言,Mantle可以显著减少GPU的等待时间,因此性能增加会比较明显。但是对于中低端显卡而言,GPU本身计算能力就不足,经常处于“被等待”状态,因此Mantle即使能够带来更高的执行效率,受限于硬件规格,也很难发挥出作用了。
除了高端独立显卡外,Mantle还能优化APU的独显核心。据国外玩家爆料,在新的A10-7850K APU上,Mantle多可以带来40%的性能提升。这无疑是非常惊人的。目前AMD也没有说明为什么Mantle可以为APU带来这样巨大的性能提升幅度,不过有一点可以肯定的是,Mantle肯定对APU特殊的CPU+GPU结构进行了优化。APU独显核心规格虽不算高,但相对独显,APU内部更易因CPU和GPU的调度问题影响效率,Mantle在此恰好有用武之地。本文由于测试硬件限制,暂时无法为大家带来APU的Mantle性能测试,后续会为玩家补上相应成绩。
微软在不久之前宣布了DirectX 12,其中部分内容和Mantle的优化方式非常类似,同样加入了更底层的API,从而能让开发者更加接近硬件、提高资源效率。很多玩家担心Mantle的未来不够理想。实际上DirectX 12尚未完成技术规范制定,需要到2015年才可能和用户见面。Mantle的效果已经显现,而DirectX 12还在襁褓中,谁能肯定Direct X12发布后效率就一定更高呢?实际上DirectX 12不得不兼顾各家硬件以保证通用性,难以针对某硬件将效率大幅提高。因此在可以预见的未来Mantle还将是API层面加速AMD显卡性能的好解决方案。
从测试可以看出,Mantle的实际表现基本符合设计预期,发挥出了相对更高的效率。在目前已经推出的两款新游戏中,至少能让R9系列A卡获得8%以上的性能提升,高增益幅度更是超过20%。没有芯片换代、没有架构革新,仅仅在API和GPU驱动中做出调试和优化,这个结果已经非常令人满意了。
就习惯了工艺换代,架构更新才能带来性能增长的显卡领域,Mantle绝对是近年来少有的技术创新。它甚至隐隐地为人们指出了未来GPU的一大发展方向,那就是通过软件层对硬件进行充分优化,以更深层次的挖掘硬件潜在性能。就产业合作层面看,AMD甚至表示只要NVIDIA愿意,Mantle也可以提供对NVIDIA硬件的支持。不过目前看来NVIDIA不太可能支持AMD提供的开发标准。至于玩家,只要静静等待更多支持Mantle的游戏即可,毕竟买显卡就是用来玩游戏的,现在有了Mantle的AMD显卡将借此拥有更高附加值,加量不加价何乐而不为呢?