DX12下《奇点灰烬》异构显卡互联测试
不论是AMD还是NVIDIA,双方各有不同的支持者,公平来说这两家公司都拥有独特的技术,官方不可避免地斗个你死我活,但对消费者来说能同时融合AMD、NVIDIA两家显卡就再好不过了。AMD+NVIDIA显卡的异构混搭之前也不是没有人尝试过,但面临的问题很多,官方甚至直接封杀。如今到了DX12时代,A+N显卡互联总算有点盼头了,因为微软官方已经开始支持这种异构显卡互联互通了,《奇点灰烬》游戏显示出来的结果让人充满了期待。
《奇点灰烬》(Ashes of the Singularity)游戏是最早支持DX12的游戏之一,显卡的DX12初步性能之前已经测过,AMD显卡因为异步计算支持到位,所以在这个游戏中表现很不错。对于DX12的特性,我们之前也做过很多介绍,今天我们来关注DX12在3D渲染、底层优化之外的隐藏黑科技——异构显卡互联,官方名字是Muti-Adapter(多显卡适配器)。
Anandtech网站这次就以《奇点灰烬》游戏为例测试了DX12的Muti-Adapter技术,测试中他们就把AMD的Fury X及NVIDIA的GTX 980 Ti显卡成功“配对”,而且相比以往的方案,DX12下的异构混搭性能还不错,足堪大用。
GTX 980 Ti与Fury X显卡成功合体了
异构显卡及DX12的一些背景知识
原文花了一个章节介绍了相关的背景知识,主要是异构显卡互联及DX12 Muti-Adapter,我们简单来说下吧。
还有谁记得Lucid的hydra芯片?
提到异构显卡互联,有印象的读者可能还会想到以色列公司Lucid的Hydra方案,它可以接管DX及OpenGL命令并重建以便可以把渲染过程分配给不同的显卡,Hydra最主要的特色就是它不仅支持同架构显卡互联,还可以支持AMD、NVIDIA显卡互联,后来还作出了集显与独显互联,再后来Lucid推出了Virtu MVP软件方案,不需要独立芯片也能实现异构互联。
不得不承认Lucid公司的理念很有想法,也很吸引人,但他们的方案当时在官方层面并不讨好,NVIDIA的驱动想法封杀这种方式,Lucid随后推出的Virtu MVP虽然转向了独显与集显融合,但这又陷入了作弊的嫌疑,跑分是提高了,但游戏性能并不一定如此,以致于现在很少有厂商再提Lucid的Virtu MVP支持了。
Hydra的渲染过程
微软DX12的多GPU支持
DX12中,我们之前关注的主要是DX12带来的画质及效率变化,实际上DX12还有很多隐藏福利等着我们,比如这次测试的Muti-Adapter支持,它不仅可以让AMD、NVIDIA的显卡互联互通,而且还提高了显存利用率,以往的交火或者SLI都只能利用一半的显存容量,现在DX12下可以完整利用2张显卡的显存了。
实际上微软的Muti-Adapteri技术比我们之前所知的要更复杂一些,它总共有三种工作模式——最简单的一种叫做Implicit Multi-Adapter(隐式多适配器),它本质上是Multi-Adapter操作模式中最低的一级,允许开发者使用类似SFR分割帧渲染那样友好的方式来控制多显卡渲染处理,这会限制性能,但带来的问题也更少。
因此,类似DX11中的多显卡模式,隐式多适配器模式实际上也更多地是依赖驱动(具体来说就是AMD和NVIDIA的驱动)
隐式多适配器模式虽然限制最多,但开发者更容易实现,未来随着多平台游戏的增多,开发者可能也不愿意付出努力去应用显式多显卡适配器技术(Explicit Multi-Adapter),因为PC市场中使用高性能多路显卡的玩家增多,这种情况下开发者会选择最容易的方式来支持多显卡。
对于DX12来说,真正下新鲜的是Explicit Multi-Adapter(EMA,显式多显卡适配器)模式,正如它的名字一样,EMA需要开发者给多GPU运行提供明确的编程,指明每个GPU要怎样工作,分配多少内存,GPU之间如何通讯等等。这样开发者就能明确控制这个渲染过程,这样多显卡平台的性能也有机会更强,因为开发者几乎控制了整个API及游戏,相比以往的多GPU技术,开发者可以控制更多、获得更多信息。
EMA模式的代价就是资源消耗,更高的性能意味着更高的责任,而且与隐式多适配器模式不同,游戏开发者要想实现EMA模式就得投入很多工作,要想工作的很好,那投入的精力就需要更多了。
至于EMA模式,它实际上还有2种工作模式——有Linked GPU及Unlinked GPU之分,Unlinked是EMA模式的基础,提供了大部分EMA模式的功能,而linked模式可以提供更多的功能,但它的限制也更多。
unlinked GPU工作模式
微软此前公布的DX12多适配器性能实测
说了这么多,来看下微软之前公布的实例,在UE4引擎的一个渲染demo中,使用独显的渲染速度是35.9fps,独显+集显的多适配器模式下性能达到了39.7fps。
奇点灰烬:AFR渲染+Unlinked Explicit Multi-Adapter
回到这个游戏,《奇点灰烬》用的就是Unlinked Explicit Multi-Adapter模式以及AFR(交替帧渲染)技术,使得这个游戏具备了很高的弹性。AFR渲染模式的缺点是每个GPU都要渲染完整的一帧画面,因此搭配的GPU最好是性能相近的,不过另一方面来看,使用AFR模式可以让游戏支持更多的GPU,不仅包括AMD+AMD、NVIDIA+NVIDIA,还支持原本不能互联的CF或者SLI模式(比如GTX 980 Ti+GTX Titan X),更重要的是它还可以让AMD+NVIDIA的显卡一同工作。
《奇点灰烬》异构显卡性能实测
现在我们直接来看下最终的性能测试吧,Anandtech这次的测试表格有的是帧数,有的是是相对比例,也就是不同的显卡组合相对单一显卡的性能提升比例。
首先来看下单卡以及高端显卡混搭的结果。
单卡及不同显卡混搭的成绩
显卡混搭的性能提升比例
4K分辨率下测试
前面测的是2560x1440分辨率,这里测的是4K分辨率了。
单卡及多卡混搭的成绩
性能提升比例
2012年的单卡及混搭测试
前面测试的都是当前一代的高端显卡,这里测试的是2012年代表性的显卡,包括HD 7970及GTX 680。
这个测试中,HD 7970与GTX 680本身就有比较大的差异,前者平均30fps,后者平均34.5fps,HD 7970领先22%。
一旦开了AFR,就有两种不同的情况了,GTX 680+HD 7970的性能比GTX 680低了40%,但HD 7970+GTX 680下性能提升超过55%,平均帧提升到了46.4fps了。
现在还不确定到底瓶颈在哪里,不过从这里的测试来看哪款显卡做主卡将会影响游戏性能,GTX 680与HD 7970的组合中,要么GTX 680领导太烂,要么就是HD 7970跟随的太差,总的性能是下降的,但HD 7970+GTX 680组合时,性能就有大幅提升。■<