MCPLive > 杂志文章 > DirectX 12下A卡、N卡多卡并联

DirectX 12下A卡、N卡多卡并联

2016-02-16王锴《微型计算机》2016年2月上

在这个问题上,Lucid曾推出过名为LucidHYDRA的多卡互联芯片,改进过AFR的问题。Lucid从多芯片同卡互联的通信芯片开始,在A和N各自的双芯旗舰显卡中,起到过相当重要的作用,也是不少高端主板首选的GPU互连辅助芯片。其跨厂商互通的LucidHYDRA方案也确实有独道之处,主要是工作模式的创新,它既不简单地直线分割每一帧画面,也不会机械地将各帧画面分配给各个GPU,而是将整个画面渲染工作灵活分配。在渲染任务到达LucidHYDRA芯片后,它会按运算量划分为多个任务包,交给系统中不同能力的显卡完成。每个任务包可能是一个特定的光照效果,一种后期处理,一个特定模型的绘制等等。各GPU完成自己的运算任务后,会把结果(可能是一部分数据、也可能是一些像素)分别交还LucidHYDRA芯片,该芯片再把这些信息交给其中一颗GPU做后的整合,完成一帧渲染后输出。鉴于此独到创新,微星等厂商就推出过基于LucidHYDRA芯片的混联主板。但因为始终得不到AMD、NVIDIA的支持,而在兼容性上有些问题。再加上工作原理复杂,在实际执行中互联提升幅度并不明显,远逊于SLI和CrossFireX,没能实现玩家们既得A、N两家特性于一体,又能翻倍显卡性能的愿景,所以已经慢慢沉沦了。

AFR和SFR的工作原理微观理解,AFR依旧是单卡工作,但为两卡轮番上阵;SFR则是真正的两卡同时工作。
AFR和SFR的工作原理微观理解,AFR依旧是单卡工作,但为两卡轮番上阵;SFR则是真正的两卡同时工作。

现在想起来,LucidHYDRA的思路其实不错,有些类似SFR。但实际产品却走入了一个恶性循环,因为这种分配方式对驱动的依赖性太高了,需要原厂驱动不断地优化对游戏的支持,甚至每出一款新游戏就需要一个特定版本的驱动。AMD和NVIDIA改善自己的驱动去优化CrossFireX和SLI都还来不及,哪里有富余时间来管LucidHYDRA?那么,倘若有一个比LucidHYDRA更优秀、高效的方式来管理多个GPU,完善渲染链前段的工作分配任务,那么多显卡并联系统的效率无疑会提高很多。而这就是DX12追寻的方向,也是SFR进入DX12与EMA搭档的关键。

完全有别于以往AFR渲染模式,SFR(Split Frame Rendering,分割帧渲染)工作方式是类似于LucidHYDRA的按需分配方式。它可以将一帧画面的渲染任务,分配给多张不同的显卡。这个不同不仅仅是指品牌、核心架构不同,甚至可以是性能档次差异巨大的型号,或者新旧不同的两代架构等等。其实这也并不是一个新技术,在以往的SLI技术展示中,NVIDIA就曾演示过多卡SFR渲染方式。只不过在当时的IMA模式下,要实现这种混合渲染对游戏的开发要求太高,没有类似DX12这样的API支持,单因一款游戏而去重做一个引擎,重构软件底层是非常痛苦的。所以这个先进的机制一直处于尘封状态,直到微软决心从底层开始对它提供支持。因为它能根据显卡性能,合理匹配显卡性能,让负载相对均衡。这考验的是渲染前期的信息处理能力,在DX12原生多核心CPU的支持下,加上游戏厂商的大幅度优化,是完全可以实现按能力分配负载的理想状态的。更重要的是,这种方式对任何一帧画面来说都是多显卡叠加工作的成果,而不像AFR,要求单张显卡渲染完整一帧。这意味着对系统来说,每一块显卡的资源是叠加的,包括PCI-E带宽资源、显存资源等等。以前两张显存4GB的显卡SLI等效可用的还是4GB,因为副卡的显存都用作帧缓冲区镜像,放置和主卡显存一样的数据。而SFR模式下可以简单理解为4GB+4GB等效获得8GB显存资源,对于高分辨率游戏玩家来说这绝对是极好的消息。

混合并联只能是Win 10+DX12独享

要想开启混合并联,除了必须将系统升级到Windows 10以外,玩家还需要找到基于DX12 API开发的游戏,才有“可能”尝试到该特性。至于游戏对混合并联的支持力度如何,还得看开发商在研究DX12底层特性上面花的功夫够不够深了。本次测试,我们原本希望找到足够多的DX12游戏,以尽可能丰富的范本为玩家展示DX12的混合并联特性,好是能将IMA、非链接EMA和链接型EMA,以及对应的AFR、SFR等工作模式全部包含,这样才具参考性。但是在我们截稿前,我们收罗了当时能测试的所有基于DX12开发的游戏,甚至是通过特殊方式能开启DX12模式的游戏,发现情况并不乐观。严格意义上来说,当前没有一款正式的基于DX12 API开发的游戏。现在的各种“测试版本”并不能为我们提供足够的样本,没有办法测试非链接型EMA、SFR等比较新颖的互联、渲染方式。具体情况如何,接下来测试中将为大家详细介绍。

当前DX12游戏和引擎介绍

以往API新老交替之际,微软都会和伙伴提前合作开发新游戏。在新API正式上市的时候,基于新API的显卡硬件和游戏软件也都基本上准备就绪了。不过本次DX12换代显得并不顺利,到截稿前我们能勉强体验到的DX12游戏只有3款。其实微软依旧提前和众多合作伙伴展开了合作,准备了许久,但这一次的API更新进度确实显得更加缓慢。首先是硬件上,微软虽然声称更老的诸如GeForce GTX 200系列和Radeon HD 5000等都能支持DX12,但我们知道DX12是有分级的,老显卡显然不可能提供对DX12的完整支持。而新显卡方面,即使是面对AMD的Fiji和NVIDIA的GM200等当前顶级的显示核心,微软也依旧三缄其口,没有承认它们对DX12的“完全”支持,只是说肯定是支持的。究其原因,本次从DX11到DX12的升级换代幅度,相比DX10到DX11的幅度大得多,革命性技术颇多。要想让原生多核心、硬件ACE得到支持和普及,让更接近底层、效率更高的开发方式获得广泛支持,都可能需要不少时间。

1、《奇点灰烬》

制作公司:Stardock
游戏引擎:Nitrous
游戏类型:即时战略RTS
发行时间:2016年第四季度,当前有Benchhmark测试工具放出可供测试参考。

《奇点灰烬》采用Oxide Games的Nitrous引擎打造,该引擎由微软加盟合作开发。和大多数当前使用的游戏引擎基本都基于老技术不断升级改造不同,Nitrous引擎是款从2013年才开始打造的的全新引擎。当前使用老引擎开发的游戏,同屏幕只能出现少量独特的、高精度的3D模型。这是因为目前的3D引擎是32位架构,主要依赖于CPU的“主线程”来与GPU互联。Nitrous引擎与之不同,它使用了原生64位架构进行开发,是多核游戏引擎,能更好地分发挥硬件性能。让该游戏任何时候都可以在同屏幕上更轻松地渲染超多数量的游戏单位。制作公司更是声称该游戏的视野超出了玩家玩过的任何一款游戏,它不只描绘一场战争,而是还原整个战场。更重要的是,作为极少数提前公布了Benchmark的游戏,更是受到不少媒体和喜欢尝鲜的玩家的重点关注。它也因此成为相当长时间内,大家初尝DX12特性的唯一选择。

2、《古墓丽影:崛起》

制作公司:Crystal Dynamics
游戏引擎:Crystal Engine
游戏类型:动作游戏ACT
发行时间:2016年1月26日

作为一款人气游戏续作,《古墓丽影:崛起》已经是该系列的第10部作品,并且已经于2015年11月10日在Xbox One平台上正式发布。得益于主机平台硬件和PC硬件的高度一致化,该作移置到PC平台的进度无疑会非常迅速,官方给出的预计发售时间是今年的1月26日,不过截稿前我们没法体验到该作品,后续会尽快补上有关该游戏的混联测试。
至于大家关注的硬件性能,游戏开发商表示:“我们对原来的Crystal Engine再次做了大量的改进,使得其支持DX12特性。”对显卡的性能要求上,得益于DX12更出色底层优化,估计并不会比前作提升太多,但A卡用户依旧更有优势。其一,是开发商一直在游戏开发中和AMD紧密合作;其次,则是A卡的硬件ACE也更加利于DX12高效运作。

分享到:

用户评论

用户名:

密码: