本文经超能网授权转载,其它媒体转载请经超能网同意。
如果我们注意新闻之间联系的话,其实会发现在今天的显卡玩家社群中,当谈到多显卡的使用时,无论是NVIDIA SLi,还是AMD CrossFire,其实都在变得越来越小众,从玩家的眼前和耳边消失得越来越远。一个集中表现的例子是,在NVIDIA去年推出的Pascal架构后,就在白皮书当中表示未来不会再面向普通的用户开放Three-Way SLI以上的游戏支持,只会在驱动当中提供专注于Two-Way SLI的优化,要想挖掘更高的性能支持需要Enthusiast Key。
而即使是在更多人印象中效率更好、使用更方便的AMD CrossFire,受支持的力度也在Radeon RX Vega 64/56显卡发布后愈加式微,这倒是显得有些不约而同的意思,那么我们平时经常挂在嘴边的SLI、CrossFire,到底是什么技术呢?又是因为什么而逐渐降温呢?这是今天这节课要讲解的问题。
什么是“SLI”?
“Multi-GPU”,字面意思就是指同时并行多于两张显卡或是两颗GPU的技术,掌握该技术的公司当中,比较有影响力的包括NVIDIA提出的SLI,ATi/AMD提出的CrossFire两种技术。如果要按照历史的进程,我们首先要讲的是SLI技术,它的全名叫做“ScalableLink Interface”,我们当中绝大部分的读者知道这项技术是因为NVIDIA,不过这项技术最初并不是由NVIDIA所开发,甚至不是代表这三个词。或许上年纪的用户还记得当年推出过Voodoo系列显卡的著名显卡公司3dfx,他们在上世纪的1998年率先推出“Scal-LineInterleave”,当时是用在Voodoo 2显卡身上的。而正如大部分读者都知道的,NVIDIA在原本竞争非常激烈的显卡市场中杀出重围,成为最后少数的幸存者之一,后来收购3dfx后,随即也购入“Scal-LineInterleave”,并在2004年将其魔改后正式推出,但要注意的是,这和日后我们熟悉的SLI技术还有非常大的区别,可以说只有最大的共同点就是单词首字母。
在Voodoo 2显卡面世前,世界上还没有技术可以连接两块独立显卡并行运算,更不要提近乎性能翻倍这种所有人都在追求的目标,而当时的3dfx通过2000年推出的VSA100图形芯片,甚至可以达到双芯、甚至四芯共襄盛举的情况,这对于现在的显卡市场来说有些寒武纪生命大爆发的景象,毕竟Radeon Pro Duo、Titan Z想起来都已经像是很久以前的产品,更不要说Quad-GPU的盛况。
两种SLI技术都一样吗?
需要特别注意的是,3dfx、NVIDIA推出的SLI技术有非常多的不同,首先是连接的方式,3dfx推出的Scal-Line Interleave在两张显卡当中需要通过专用的线缆连接,而NVIDIA推出的Scalable Link Interface需要的是我们俗称为“桥(Bridge)”的连接子卡。其次是数据的传输方式,3dfx推出的SLI技术是模拟传输方式,数字信号被转换为模拟信号后再进行合成帧的操作,而NVIDIA推出的SLI技术是采用数字信号传输,两张显卡所计算的画面合成后才被转为模拟信号。
而除上述特点外,在Multi-GPU技术当中的最核心问题:画面处理的任务分配方面,3dfx、NVIDIA的思路是完全不一样的。前者3dfx所采用的思路是将画面分逐块逐块的两部分,两张显卡或是GPU分别渲染屏幕即时帧当中的不同部分,渲染完毕后再进行合成,换句话说是前帧和后帧的融合,而NVIDIA的思路则迥然不同,采用的途径是将屏幕当中的单帧分为若干部分,如果是Two-Way SLI,那么就是将画面分别两部分,而如果是三路、四路甚至是最高的八路,那么就各自负责渲染若干分之一。
而更加重要的是,在后期的开发当中,NVIDIA对SLI技术当中的资源分配问题加以改进,换句话说就是实现3:2、4:3、5:3这样的单屏画面分割效果,这样做的目的是为保证SLI体系当中的主卡和副卡在工作时需要一致的工作时间,因为主卡是不仅要渲染自己需要渲染的部分,还要先进行任务的分配、指挥、控制,所以如果主卡完成渲染的时间比副卡要长,那么就存在一个副卡等待主卡分配下一帧的“空闲时间”,这种问题类似于我们经常要注意避免的CPU性能很弱、无法发挥GPU性能问题。
3dfx提出的SLI技术是将画面分成逐块逐块的部分
这才是NVIDIA提出的SLI技术
那什么是CrossFire?
说完NVIDIA的技术再来说说AMD的CrossFire,如果说SLI技术看上去有些不知所云的话,那么“CrossFire”听起来就非常的酷炫、威猛,和催化剂、肾上腺素、火山岛一样霸气侧露(只要不是理解成“穿越火线”就好)。CrossFire给大家的印象或许比NVIDIA SLI更好,比如说免桥、交火效率更高等等。
CrossFire这个名字是在2005年的夏天初次公布的,当时公布出来的技术细节和3dfx、NVIDIA提出的原理完全不同,它是采用奇数帧、偶数帧的方式来进行渲染的,你负责1st、3rd、5th,我来负责2nd、4th、6th,第一批支持该技术的显卡是Readon X800、X850,不过当时还是需要采用连接线来连接主显卡和副显卡。
说到这里你可能觉得奇怪:我大CrossFire技术怎么还需要区分主卡和副卡?其实还真是这样,历史是发展到第三代的CrossFire技术,也就是到ATi RV570核心出炉后,才开始终结需要分主卡和副卡的历史,而且不再需要连接线,而是改进成看上去高度接近于NVIDIA的“桥(Bridge)”作为数据流通的介质,虽然仅仅是看上去像而已。
如果说你不熟悉这种世代的分割,那么第四代CrossFire技术你一定非常熟悉,甚至如雷贯耳,因为第四代CrossFire技术是从火山口架构的R9 200系列显卡开始的,这距离我们非常近。在这一代核心架构(GCN1.1)当中,AMD开始使用XDMA无桥交火,并支持Frame Pacing(帧同步)技术。
从原理上来说,一般认为CrossFire技术要比SLI技术更加高效,一方面是资源分配的原理存在异同,另一方面是因为CrossFire技术在对于多帧的分割-组合有多种模式,比如说我们比较熟悉的交互帧渲染(Alternate Frame Rendering)和棋盘分离渲染(SuperTiling)模式都是面对高性能的,需要的资源要更少,也不存在明显的瓶颈(不过因为AFR本身并不需要很高的门槛,所以作为一种多卡下常见的渲染方式,其实SLI、CrossFire都有应用)。
交互帧渲染原理
棋盘分离渲染
哪怕就在四、五年前,讨论SLI、CrossFire技术的用户也要明显多于今天大家对于Multi-GPU的热情,你或许见过组建Radeon HD 7950、R9 290交火的用户,也见过尝试GTX 780 SLi的玩家,但是今天你还能见到多少Radeon RX 570 CrossFire、GTX 1080 Sli的用户?要特别注意的一件事是Windows 10已经正式部署超过两年,而在Windows 10正式推送前我们就知道这是对于底层优化非常深的系统,有多深?
甚至可以带来显存叠加和AMD、NVIDIA显卡混合交火的超美梦,而现实是大家都知道无论是CrossFire,还是SLI,都是各自的GPU使用各自自己的显存,而且组建Multi GPU需要驱动的支持,自然不可能凭空实现RX Vega 64、GTX 1080的合体,但或许是因为至今没有明确的进展,今天愿意尝试的组建多卡的用户已经少很多。
至于为什么现在愿意尝试Multi-GPU的用户越来越少,我认为主要的原因有以下这些:
#1:单芯显卡的性能已经越来越强大,征服游戏不再迫切需要双卡甚至三卡
这个原因其实类似于从前的用户痴迷于CPU超频一样,因为性能本身对于需求来说还有较大的缺口,所以需要超频尽量榨出更多性能,但是从近年的发展来看,GTX 680、GTX 780 Ti、GTX 980 Ti、GTX 1080 Ti、Titan V的性能已经越来越强大,但是就游戏本身来说,1080p依然是主流的分辨率,抗锯齿方案最合理的依然是MSAA,环境遮蔽光甚至被优化地越来越好,因此购买一张较高端的显卡已经完全可以征服游戏,甚至尚能有余力挑战4K游戏,高性能的普及必然带来追求极致的需求确实,君不见“逢六必火”定律背后的深层原因其实就是中高端显卡其实已经非常的Sweet,一张GTX 1060 6GB显卡其实已经足够玩很多游戏吧。
#2:组建Multi GPU背后的成本依然很高,甚至越来越高
如果你只是想简单玩玩单芯显卡,你的处理器可以比较主流,Core i5-7600K,甚至Pentium G4560都未尝不可,主板、机箱、电源都有很大选择的余地,可以小、可以精致。不过如果你想要构建双卡,首先显存不叠加,那么你至少需要4GB的显存吧,那就需要两张GTX 1050 Ti,或者是RX 570,数量翻倍后,预算已经足够买GTX 1070,而处理器、主板都需要强化,因为需要更高的处理能力避免瓶颈,还需要更多的PCI-E通道保证带宽,需要更高功率的电源保证输出,还需要更大的机箱,更好的风道避免热量的聚集,噪音也会更大,这一切都是显性和隐形的成本。更不要说现在的HB Bridge的售价也不便宜。
#3:组建Multi GPU对于游戏的优化是场考验,很可能事倍功半
就算你组建一套性能和造价都颇为不菲的平台,但如果你的目的只是为获得更高的游戏性能,那么你的梦想并不一定会实现,因为多卡游戏的优化和单卡完全是两种概念,如果是单卡的话,那么只要显卡架构不会太老、质量没问题、系统和驱动不存在故障,那么玩游戏一般不会有问题,但是如果组建双卡玩游戏,那么出错误的几率就不低,比如说黑屏、无响应、花屏、卡顿等等,具体可以参考各厂的驱动更新日志。
而如果说我亲历的问题,印象深刻的就是在使用GTX 1080 Two-Way Sli的时候,玩《巫师3:狂猎》会有剧烈的闪屏、花屏的问题,最后是通过将全屏改为窗口化解决的,此外还试过RX 480 CrossFire,在玩《狙击精英4》的时候遇到过密集的无响应退出的问题,最后是怎么解决的?其实……根本没解决。
就算没有遇到错误,组建多卡的效率也是需要你注意的,哪怕你更新驱动、多卡支持文件很及时,但是两张显卡的综合性能为单卡的150%屡见不鲜,甚至还有很多低于150%的例子,而计算是效率更高的AMD CrossFire,效率超过180%的例子屈指可数,而为实现这种程度的效率,背后所花的成本远远不止200%。
#4:追求极致、动手能力强的用户毕竟只是少数
这句似乎是很多问题当中的老生常谈,但事实是即时不考虑其他问题,有组建多卡平台的意愿和动手能力的用户也只是少数。就大部分用户来说,其实想要的还只是简简单单、轻轻松松的组建一套玩游戏的平台,维护的成本自然越低越好,最后不会出各种问题,而大胆的尝试自然离不开各种问题的发生,还要总结规律、冒着失败的风险,这种体验可不是所有人都喜欢的。
况且用户是具有惯性的,如果尝试单卡的体验没有遇到什么问题,甚至体验还很好,自然没有尝试双卡甚至三卡的理由,否则遇到问题该去问谁呢(肯定是小超哥啦)?
总之,如果说从前的Multi GPU技术不失为颇有使用价值的方法可以带来超强的性能,那么现在它已经因为种种原因而受到非常大的挑战,自身的意义也变得越来越模糊,即时是硬核玩家,相信也不太愿意去组建多显卡,这也是为什么会有“能单不双”这句话的原因。