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的显卡一同工作。