显卡架构与游戏 硬币正反面的抉择
2019-10-30葬月飘零
葬月飘零
①早期3D经典游戏,缺乏3D特效使其看起来如此粗糙
除了游戏厂商之外,显卡厂商也是游戏画面质量提升的重要推手,两者更是互相制约、互相推动。显卡架构的每—次升级迭代都能够为玩家带来画面上的新惊喜,而一些“显卡杀手”级的游戏以及其中使用的华丽特效,又在召唤着显卡能力的提升。那么显卡架构与游戏究竟是一种什么样的关系?为什么每一次显卡新构架的出现都能带来画面表现力的极大提升?显卡的架构对游戏的画面质量、速度究竟有多大影响?是不是只有最新的显卡才是选购的最佳目标?这就是我们今天要讨论的内容。
顯卡架构与迭代的意义
T999年英伟达(NVIDIA)公司发布了GeForce 256图形处理芯片(图2),该芯片的发布意味着显卡GPU概念的首次出现。在此之前的所谓显卡芯片仅仅具有贴图纹理与像素填充等简单功能,大量3D相关计算都是CPU完成的。而更早的显卡甚至只是显示器的适配器,其最大意义还是在显示器上显示2D图形,谈不上什么“架构”,所以这里就不深入说明了。下文中提到的显卡、GPU等,均是GeForce 256及之后的相关产品。
②GeForce 256的出现催生了显卡架构的概念
GeForce 256图形处理芯片采用了硬件T&L( Transform and Lighting,图形坐标转换与光源处理)技术。图形坐标转换对模型坐标点相关内容进行计算,而光源映像运算则要对固定光源切入的角度、摄像机观察角度等变量进行阴影以及反光面、光源变化等的相关运算(图3)。这两种计算互相配合,就能呈现出在不同观察角度下,受到不同光源方向照射到形状各异的3D模型后的样子。加上对贴图计算的立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图等技术,再配合上更精细的纹理和贴图,就能够呈现出质量更高、更真实的画面。
③有了光源、阴影等技术的游戏画面
上述几个关键技术及其对硬件调用的协同运作方式就是GPU架构的概念。举个简单形象化的例子来理解就是把GPU比作一家公司,这家名为GPU的公司要正常运转起来需要设立哪些部门?这些部门分别做什么工作?各部门之间如何协同起来?这整个的运作规则就是GPU的架构。需要注意的是,这个公司刚刚建立,就从CPU“公司”接管了不少工作,比如前面提到的T&L计算,而从CPU不断接管图形处理的相关工作,也是GPU发展的一大趋势。
时间继续推进,随着DX新版本的迭代,渲染流水线的概念出现了,它是显示芯片中相互独立且并行的图形处理单元。一条完整的渲染流水线由像素着色单元(Pixel Shader Unit,PSU)、材质绘制单元(Texture mappingunit,TMU)、光栅化操作单元(RasterOperations Units,ROPs)三部分组成。像素着色单元和材质绘制单元确定和处理画面中的一个个点/面的色彩,ROPs则将其综合形成完整的图像。
2002年,随着微软DX9的发布,T&L被抛弃,同时引入了全新的顶点着色(VertexShader,VS)技术。它允许开发者通过软件指令的方式来为3D物体每一个顶点的更多种变量进行自由定义,如某个3D多边形每—顶点的X、y、z坐标的颜色、初始路径、光照等均可自由定义。由于可以对顶点进行各项变量的定义,开发者可以更简单、更方便地构建更真实的3D物体,实现图像的各种高级视觉效果,如水波、复杂地形等(图4)。这—方面提升了生成画面的表现力与画质,另—方面也提高了硬件使用效率。
④顾名思义,顶点着色器善于处理有大量顶点的图像
DXTO的时代开始后,流处理器(StreamProcessors,SP)的概念出现(图5)。流处理器是直接将多媒体图形数据流映射到流处理器上进行处理。简单来说,DXlO将定点着色和像素着色合并成一个统一渲染(UnifiedShader,US)单元。图形数据被分解成并行的分组数据,这些数据交给流处理器进行处理,再转换组合为整幅画面的视频信号,传送至显示器显示出来。这种通过大量(数百至数千个)流处理器对画面数据进行并行处理的方式极大地提升了图形的运算与传输效率,画面流畅性也有很大的提升,今天显卡的架构仍然是基于这一模式的各种改进。
⑤DirectX10推出的流处理器概念延续至今,也让Di rectX彻底确立了在3D处理中的地位
小提示
从这段描述中大家应该也会发现,所谓的显卡架构大多数情况下实际上就是GPU架构,而即使外部的显存等有一些变化,也可以看作是GPU架构的外延。但由于目前大家都更习惯于说“显卡架构”而非“GPU架构”,所以下面我们就继续使用这个名称。
2006年11月,英伟达发布了业界第一款支持DirectX10构架的GPU——G80。它由8个SM(流处理器)阵列、6组TA(纹理寻址)和6组ROPs组成,整个构架以高速交叉总线直连的方式连接(图6)。前端处理器将图像数据指令都处理成适合SM处理器处理的大小,也就是所谓的1D,然后交予1个流处理器处理。像这样先统一拆分后分配计算的好处是最大限度地利用每一个流处理器,因而不会产生流处理器闲置的情况,提升了运行效率。顺便说一句,这与目前CPU的工作方式其实很相似。
⑥G80架构
典型显卡构架对游戏画面的影响
显然,显卡架构升级的目的就是借助新的工作方式、利用新的处理模块来更有针对性地提升软硬件之间互相配合的能力以及整体工作效率,并以此更进一步满足硬件对图形的处理应用需求。
要讲架构对游戏的影响,此时正值新旧架构交替期的N卡是最好的例子,我们就借此来看看这两种架构在游戏图形方面提供了什么样的新技术。一方面通过简单对比能够更加深刻地体会到显卡架构迭代的意义,另一方面也为纠结于究竟该选择哪种架构显卡的读者提供一些启示。
相对于Pascal架构的GTXTOXX系列显卡,基于Turing架构的新一代中高端显卡如RTX2080 Ti、RTX 2080、RTX 2070等,主要的变化是增加了Tensor Core和RT Core单元,成就了光线追踪(Ray tracing,RT,以下简称光追)和深度学习超采样(Deep Learning Super-Sampling,DLSS)两项新技术(图8)。
小知识
在解释近期的显卡架构之前,我们还应该明白显卡架构命名规则。目前独立显卡的两大流派——N卡和A卡分别指的是使用英伟达和AMD两大公司GPU的显卡。两家公司对于性能的提升有着各自的思路,因此GPU架构设计也略有不同。当然两家显卡架构的命名规则也各不相同。AMD GPU架构被称为GCN(Graphics CoreNext)架构,目前的核心代号均为星座,例如RX系列为Polaris(北极星),高端则为Vega(织女星)。英伟达则以科学家的名字来命名显卡架构/核心,如Kepler(开普勒)、Maxwell(麦克斯韦),以及现在仍在售的Pascal(帕斯卡)、最新的Turing(图灵)等(图7)。
⑦N卡历代显卡架构命名
更有趣的是,基于Turing架構的显卡中,面向主流的产品放弃了TensorCore和RT Core单元,形成了GTX 16XX系列显卡。它们没有重要的额外画质优化,可以用来了解新架构在同等画面条件下到底有什么优势。
光追技术和画面特色
先说中高端显卡和新增画面特效。光追的原理是向成像平面上的像素发射光线,追踪这条光照路线并找到阻挡光线传播的其他物体。如果交点表面为散射面,那么就计算光源直接照射该点产生的颜色,如果为镜面或折射面,那么继续向反射或折射方向跟踪另一条光线。如此往复循环,直到光线离开场景为止。这一技术能更加真实地呈现出现实中复杂光影交织后的景象。给画面的光影视觉效果带来极大的提升。借助工作集群,光追早已在电影工业中得到了广泛应用,如“复联”系列电影的一些场景就是通过庞大的工作站集群一帧一帧地进行光追计算所呈现出来的。借助RTX20XX系列显卡,玩家们也能够享受到光追技术呈现出的更加真实的光影效果了。
不过也可以想见,在比较“自然”的场景中拥有多达数百万个多边形,大量的不规则反光物体和大量光线所需的光追计算量极大。很显然,将这样大的计算量变成现实,不能仅靠提升计算能力,必须进行优化和简化,目前估计Turing架构的光追单元实际上就是内置了大量形状和材质的表面反射数据,可根据情况直接调用而无需进行复杂计算(图9)。
更智能的抗锯齿
我们应该都有这样的电脑使用经验:将高分辨率的图像缩得越小感觉就越清晰,DLSS正是使用这种方法提高图像质量的技术。简单来说,DLSS技术是从低分辨率图像生成高分辨率图像,然后再将高分辨率图像缩回一点并输出为中等分辨率图像,也就是SSAA(超采样图像抗锯齿)图像,可以让玩家看到的图像更显清晰。但这样同样要有巨大的运算量为基础才行,加上光追等光影、画质技术,GPU的运算能力和运算速度很可能不足以胜任,英伟达通过深度学习来解决这一问题。与游戏开发商沟通后,英伟达通过大量的训练,增加生成高分辨率画面的效率,通过自家的深度学习工作集群成功建立智能模型后,再将这个模型发放到用户的显卡上,这样用户的显卡可以使用这个有针对性的模型对图形计算过程进行简化与优化,以此来提升图形与光影的运算效率,使得单张显卡就能够胜任如此庞大的运算量(图10)。
⑩超采样图像抗锯齿工作原理
光追不是全部
那么,是否必须要追求最新的显卡架构呢?同样用RTX显卡的能力来说明。虽然Turing架构显卡已经发布了9个月以上,但目前对光追支持的游戏作品数量少得可怜,20T8年8月德国科隆游戏展上,英伟达首发Turing架构RTX系显卡时公布的支持光追的游戏仅有《战地5》、《古墓丽影:暗影》、《地铁:逃离》三款,到目前为止,宣布支持光追的游戏不少,但真正上市、能展现光追技术的游戏数量却仍然屈指可数,有全球影响力的则仍然是这三款。
其次,作为一个新的光影技术,光追还有很大的优化和提升空间,RTX显卡启动光追功能后游戏帧速下降非常明显。例如在运用光追最复杂的游戏《地铁:离去》中,所有光照以及其产生的阴影均为光追技术实时计算,高画面设置+高光追效果会让RTX的游戏帧速下降40%甚至50%以上,使用RTX2080时108帧/秒的速度尚可,但在RTX2060上卻从百帧以上骤降为68帧/秒,几乎要落到“流畅”帧速以下(图11)。
⑾开光追的《地铁:离去》帧数在中端显卡中的表现不尽如人意
可以看到,光追技术在高端、旗舰级显卡上表现是可以的,但是在中端、主流显卡中却只能说是勉强可用,虽然未来通过硬件与游戏引擎的磨合,光追技术在游戏中的综合表现应该会更好,但目前很难下放到中端以下显卡中却是不争的事实。这也是为什么如今Pascal架构GTX 1OXX还占据市场主流,取消光追技术的GTX16XX显卡则成为玩家追捧的“甜点”。而且这些显卡在不开启光追功能的时候,性能相当感人,与同等级RTX显卡差距并不大。
类似光追技术的架构升级并不少见,各代显卡架构提供的新功能,如毛发处理、表情处理等均有这一问题(图12),即初代技术普及面较窄,且仅在高端、旗舰级显卡中比较实用,所以主流玩家追新的意义不大。但是反过来,目前已经可以明确光追技术将是下一代游戏画面上的技术发展趋势,如果资金足够,多花点钱早入手早享受,也是一种选择。
⑿AMD提出的发丝处理特效TressFX,也曾经只有高端显卡能降服
至于A卡方面,目前性价比不错的RX 580/590和即将上市的Navi核心显卡虽然没有内置光追模块,但实际性能、画质、性价比只要不弱于GTX10XX/16XX显卡,就仍然有其生命力,完全可以作为主流玩家的游戏利器,再战数年。
小结
通过本文的简要介绍,相信读者们已经大致对显卡架构这种听起来很专业的术语有了一定的理性认识了,而且也一定对英伟达最新的Turing架构究竟值不值得现在入坑有了自己的判断。按需选择而并非无脑追求高端高价位,以科学的选购原则配合上一些相关的专业知识,就不难选购到最适合自己的显卡了。