Ada架构与DLSS 3助推爆炸式性能增长!NVIDIA GeForce RTX 40系GPU架构详解

交互设计

  距离英伟达在2020年发布RTX 30系列显卡到现在已经过去了2年时间,根据英伟达的产品发布节奏,2022年英伟达应该拿出全新的RTX 40系列显卡了。在经历了诸多传言、预测之后,在2022年9月21日GTC 2022上,英伟达终于拿出了全新的RTX 40系列显卡,带来了全新的Ada Lovelace架构和大量全新技术。按照惯例,我们今天的文章就是对这些新的技术特性进行解读,好好分析一下英伟达利用这2年时间,究竟带给我们一款怎样的产品。

  英伟达在2022年9月21日的GTC 2022上发布了全新的Ada Lovelace架构(下简称“Ada架构”),新的架构凭借着更大的规模、更多的功能特性以及全面加强的光线追踪效能、AI计算效能等,带来了视觉计算技术的新飞跃。与此相应的是全新的RTX 40系显卡,英伟达在发布会上公布了GeForce RTX 4090和RTX 4080系列产品的规格和价格,并宣布将在2022年10月12日正式开始销售。为了深入了解这款全新产品的技术和架构方面的内容,我们和之前一样,推出了这样一篇长文,来全面解读Ada Lovelace架构和RTX 40系显卡的方方面面,首先是第一部分,Ada Lovelace架构解析。

  ▲Ada架构,带来了视觉计算技术的新飞跃。

  架构和应用部分:Ada架构更强大,RTX应用更多样

  写在前面的话

  如果对GPU发展有一定,或者注意阅读本杂志的话,那么就应该对英伟达架构的发展和命名方式非常熟悉了。英伟达在数代之前,就已经将高利润的计算架构和面向大众的图形架构进行了分别设计,比如计算架构拥有更先进的工艺、更大规模的晶体管数量、大量面向计算的优化以及剔除了那些和计算市场基本无关的功能(比如光线追踪计算模块)。面向图形的架构则会采用性价比比较高的工艺、合适的晶体管数量以及大量面向图形的先进技术,同时会包含一部分计算市场下放的功能。2022年,英伟达最重要的两大架构之一,也就是面向计算市场的Hopper架构发布之后,面向图形的Ada Lovelace架构的发布就已经是时间问题而已了。此外,有关架构的命名,英伟达解释Ada Lovelace是历史上首个被认为是真正的程序员的数学家,这也是根据之前英伟达使用物理学家或者数学家命名架构的历史而来的。

  和之前所有架构发布一样,英伟达也针对全新的Ada架构发布了详细的架构白皮书,以解释全新架构所拥有的新技术和性能优势等。我们对比了英伟达近三代的架构白皮书,分别针对Turing、Ampere以及Ada架构。Turing架构的白皮书一共有83页,其中文本描述部分的内容高达69页。Ampere架构的白皮书一共只有43页,但是文本内容部分也有34页。今年的全新Ada架构白皮书,一共36页,文本部分的内容只有大约25页。

  ▲Ada架构的白皮书,目前已经可以在官网下载了。相比之前的Ampere和Turing,Ada架构目前的白皮书内容少了很多,不过期待之后的“NVIDIA Ada Science Whitepaper”。

  更细节一些来看的话,Turing白皮书中,除了6页的关键特性介绍外,在传统的GPU光栅化也就是SM、内存等部分,英伟达给出了大约14页内容进行介绍,其余部分则是光线追踪、全新的AI技术以及高级像素技术的介绍等。在Ampere架构的白皮书中,传统光栅化内容部分大约6页,光线追踪部分4页,Tensor Core部分4页,其余的是一些杂项技术。Ada架构的白皮书中,传统光栅化部分的内容除去图片部分,甚至填不满1页。光线追踪部分大约有9页,其余的部分是DLSS3、Tensor Core以及其他技术等。白皮书的内容的减少,可能说明英伟达在市场宣传尤其是技术内容介绍部分没有之前那么细致了,但是内容比例的变化,其中意味昭示的GPU发展方向还是很明确的了。

  Ada架构GPC和SM:规模更大

  Ada架构目前最完整、规模最大的芯片被称为AD102。一般来说,面向图形的芯片的最大、最完整技术版本,英伟达都会以“102”作为代号。使用102作为代号还有2个历史渊源,一个是在之前计算产品和图形产品还没有分得如此清晰的时候,代号“100”或者“101”的产品往往是计算核心的旗舰,比如GP100是Pascal的计算或者专业卡核心旗舰,GP102则是图形核心旗舰,另一个是在更早一些的产品中,英伟达的“100”系列作为首个送至台积电流片的产品,往往在功能、功耗或者频率表现上存在问题,一般英伟达会反复修改多次流片,最终“102”系列产品能够达到上市要求,从而被用于上市使用。无论怎么说,目前英伟达往往会把“102”这个数字留给图形旗舰芯片,“100”留给计算旗舰芯片。

  ▲AD102芯片结构合成图和Ada架构特性一览。

  ▲Ada架构以及对比Ampere架构参数,可见规模大幅度提升。

  ▲Ada架构的GPC组成,这是一个GPU的基本单位,包含了一个GPU几乎所有的功能。

  ▲Ada架构的SM单元,和Ampere架构的SM设计相似度很高。

  ▲第二代RT核心结构示意图。

  ▲第三代RT核心结构示意图,相比前代,增加了2个功能。

  ▲英伟达宣称Ada架构相比前代产品,带来了2倍的性能功耗比。

  ▲Ada架构创新技术一览。

  接下来我们看AD102芯片。完整版本的AD102芯片拥有12个GPC(Graphics Processing Clusters,图形处理器集群),每个GPC拥有6个TCP(Texture Processing Clusters,纹理处理集群),每个TPC拥有2个SM(Streaming Multiprocessors,流式多处理器)和1个PolyMorph引擎,因此1个AD102总计拥有72个TPC、144个SM。存储部分采用的是384bit的GDDR6X控制器,一共布置了12个显存控制器,每个显存控制器可以控制32bit位宽。在这里,英伟达特别提示,考虑到FP64相关代码比如张量(Tensor)代码的运行,英伟达还为AD102增加了288个FP64单元,每个SM核心2个。不过FP64单元并未在所有的架构图中体现出来。

  GPC方面,AD102中的每个GPC都拥有1个专用光栅单元、2个ROP单元。1个GPC分为2个区域,2个区域共用1个光栅单元。每个区域包含了3个TPC(6个SM、3个PolyMorph引擎)以及8个ROP单元。这样总计每个GPC拥有1个光栅单元、6个TPC单元、12个SM单元、6个PolyMorph引擎以及16个ROP单元。

  接下来是SM部分。AD102的SM设计和Ampere架构的SM设计相似度很高。AD102的每个SM单元包含128个CUDA内核,1个ADA第三代RT核心以及4个ADA第四代张量(Tensor)核心、4个纹理单元、256KB寄存器、128KB的L1/共享内存,和之前的产品一样,L1/共享内存也可以根据使用情况进行配置。

  英伟达在这里特别提到,SM部分的核心改进在于第三代RT核心和第四代张量核心的改进。这部分的改进本文的后面还会有详细的介绍。

  从英伟达给出的架构介绍来看,在光栅化部分,也就是不涉及RT核心和张量核心的传统部分,AD102或者说Ada架构基本上是维持了之前Ampere架构的相同特性,并未有任何显著的功能和设计上的更改。Ampere架构在这部分的核心更改就是SM中的INT32核心和FP32核心目前被设计为多功能核心,因此全部都可以执行FP32指令,这是Ampere架构CUDA核心(名义上)的数量大增的最主要原因。Ada架构将其全盘继承,显示出英伟达在光栅化性能和功能方面本代不会有更大的功能调整或者架构更新了。实际上从软件和应用角度来说,之前光栅化图形大量增加的特性,比如次表面散射、各种类型的AO以及抗锯齿技术等,在新的光线追踪或者DLSS技术出现后,已经完全从另一个层面对其进行了取代,尤其是光线追踪技术的出现,接近真实的阴影不再需要AO或者相关的技术来模拟实现,因此整体光栅化技术逐渐减慢了发展速度。毕竟更为精确的可计算的方法出现后,传统的模拟方法被逐渐放弃,是很合理且正常的事情。

  Ada架构的缓存:L2缓存暴增

  Ada架构的改革在缓存部分主要体现在L2缓存。L1缓存在上文中已经提及,每个SM拥有128KB L1缓存,AD102总计拥有18432KB L1缓存,相比GA102的10752KB缓存增加了大约70%,这个增长幅度是和AD102对比GA102的SM数量增加幅度基本相同,AD102的SM数量有144个,相比GA102的84个,增加了71.4%。也就是说,AD102的L1缓存和GA102的设计是相同的。

  ▲AMD在GPU中也引入了大规模缓存,Ada架构目前也大规模增加了L2缓存,其中是否有异曲同工之妙呢?

  但是在L2缓存方面,AD102目前拥有98304KB的L2缓存,也就是96MB,相比之前GA102所拥有的6144KB也就是6MB,大约是后者的16倍。英伟达解释道,如此巨大的缓存,将为所有GPU相关操作都带来巨大的收益,尤其是光线追踪、路径追踪等复杂的操作收益最为明显。

  在这里我们不得不提及AMD在GPU中所添加的“无限缓存”。AMD认为,使用了无限缓存之后,GPU通过本地缓存的合理操作,将一方面得到巨大的本地带宽,另一方面大幅度降低了针对GPU存储系统的压力,这也使得AMD能够大胆在顶级GPU上使用256bit的显存位宽,同时配备128MB的缓存。

  实际上对GPU这种计算密集型设备来说,晶体管资源的宝贵之处在于只有更多的晶体管用作计算,才能有更高的算力输出。但是问题在于任何产品都存在一个边际效应,无限制地堆计算单元的后果也可能是其他部分存在瓶颈造成短板。比如GPU这样的计算密集型产品对带宽的需求几乎就是无限的,但是带宽受到位宽、显存速度等多方面因素影响,提升起来一直很困难。因此,在新一代GPU上,AMD和英伟达可能都做了类似的选择,那就是增大L2来实现更合理的内存速率梯度,以提高片上数据命中率。毕竟之前的GA102 6MB的L2只能是聊胜于无,在24GB的本地存储空间面前,基本无法有效改善数据片上命中率,这次英伟达将L2提升至96MB,应该会带来显著的片上数据命中率的提升,这能够极大地提升GPU的运行效率,降低存储部分的压力,甚至电能消耗。

  第三代光线追踪模块:Opacity Micromap、DMME以及SER

  英伟达是首个在GPU中引入光线追踪相关技术的厂商。对于整个光线追踪的计算过程,在之前的第二代光线追踪核心也就是Ampere架构所使用的RT核心中,英伟达针对光线追踪计算流程中的两个卡点进行了特殊处理,也就是专用硬件计算的方式来进行加速处理。其中第一个引擎是专用于加速BVH过程的Box Intersection引擎,这个引擎主要用于将目标物体分解为很多测试盒,这样可以大幅度提升BVH遍历的效率。第二个引擎是Triangle Intersection,它主要用于计算光线和目标像素相交与否。通过这些硬件单元,光线追踪计算中最复杂的循环部分被大幅度加速,要知道,之前这些计算是需要SM单元进行一次又一次的循环计算才能完成的,现在专用硬件单元的效率将其提升了数倍乃至数百倍之多。并且,由于SM单元不再执行这些光线追踪计算中的任务,因此被释放出来执行传统光栅化或者其他相关计算,整体效能也得到了提升。

  Opacity Micromap:大幅度提高BVH过程的效率

  不过,第二代RT核心虽然能够很好地加速光线追踪中的BVH遍历和三角形相交等计算,但是对另外一些类型的计算却无能为力,还是需要SM的参与。比如在三角形相交计算中,如果相交的对象是透明的,或者不透明的,那么这个计算结果是明确的,问题来到了一种特殊的中间状态,那就是半透明状态上。

  ▲Ada架构在光线追踪部分引入了Opacity Micromap功能,能够大幅度提高BVH过程的效率。

  ▲以游戏PORTAL为例,其中存在大量的半透明物体。

  ▲Opacity Micromap功能带来了更高的效能。

  ▲Opacity Micromap的应用案例,用于检查光线是否能穿过树叶。

  在计算机图形学中,开发人员往往会使用alpha通道来针对复杂形状的物体进行处理,alpha的值用于标识其透明程度。一般来说,一张叶片可以由几个三角形完成,但是其复杂的结构可以用纹理的alpha通道来实现,类似的情况还有火焰或者彩色玻璃等。

  在一般情况下,光线追踪计算中,光线投射到物体表面,会先查询开发人员是否标注了“不透明”状态,如果有,则正常将这些计算合并到光线追踪后续计算中。但是,如果没有标注,那么RT核心就会要求着色器来检查到底是透明的还是不透明的,这将占据SM的线程并产生性能需求,甚至会产生多次调用和多次性能需求。

  实际上这里的问题在于,由谁来进行是否透明的状态检查——这就像第二代RT核心中,谁来进行遍历计算、谁来进行三角形相交计算那样,这里的计算如果需要SM核心才能完成的话,不妨专门设置一个单元进行透明状态检查。

  因此,在Ada架构中,英伟达设计了一个名为Opacity Micromap(不透明微图单元)来进行类似的检查。Opacity Micromap在运行中首先会生成一个由微小三角形组成的网格,然后用这个网格来标记物体透明或不透明。

  具体来说,RT核心会直接判断光线和Opacity Micromap三角形的交点,这个交叉点的重心坐标可以用于确定当前三角形覆盖的区域是透明、不透明或者未知。在这里我们要重点提及重心坐标的概念。重心坐标是一个在图形学中被经常提及的概念,理论上来说,重心坐标可以用三个标量表示三角形内任意一个点的位置,这包括三角形三条边上任意一个点或者三角形任意一个顶点。通过重心坐标以及重心坐标和三角形三个顶点形成三个子三角形的面积的变化情况等,可以用于判断当前三角形的透明度情况。

  由于使用了重心坐标的概念,因此微图单元判断物体是否透明就更为简单直接了。当微图单元的三角形(微图三角形)100%被物体覆盖时,可以被认为不透明。当微图三角形0%被物体覆盖时,可以被认为透明。当微图三角形0%~100%被物体覆盖时,可以被判断为未知,未知的部分会根据覆盖的多少,进行不同的处理。

  英伟达的案例中,完全不透明的是深绿色,完全透明的是白色,红色是物体占据了大部分微图三角形,蓝色则是物体占据了一小部分微图三角形。英伟达的数据显示,他们的案例通过微图三角形型检验后,有30个透明、41个不透明,51个未知。一共58%的单元已经有了明确的结果,光线要么消失(或者反射),要么透过,在没有SM和相关单元参与的情况下,已经有58%的单元可以判定光线追踪的结果。其余的41个未知情况,英伟达没有明说如何处理,只是说交由着色器单元判断。但是这里我们猜测,微图三角形拥有自己的自主判断机制,如果微图三角形小于某个百分比(比如30%)以下被占据,考虑到分辨率和精度的问题,可能会被直接判断为透明;与此相应的是大于某个百分比(比如70%),可能会被直接判定为不透明。其余在中间的部分,才最终又会交给SM进行判定。这样一来,又大大降低了需要进入SM判断的透明或者不透明部分。

  英伟达的数据显示,在RT核心中拥有Opacity Micromap后,遍历性能在拥有alpha通道的几何图形中,性能提高了一倍。这里的性能提升取决于使用情况,一般是经过alpha测试的阴影投射会带来最大的性能提升幅度。无论如何,新的Opacity Micromap能够更大限度地提升性能,使得设计人员可以更加自由地增加场景细节,从而带来更好的画面效果。

  Displaced Micro-Mesh Engine:最多提升10倍构建速度和降低20倍BVH所需构建空间

  Displaced Micro-Mesh Engine是第三代RT核心的又一个重要功能,我们称其为置换微网络引擎(DMME)。一般来说,目前的图形计算中,由于环境复杂性或者目标复杂性的提升,BVH过程正在面临严重的性能挑战。举例来说,当物体的几何模型复杂程度提升100倍的时候,整个光线追踪的时间只提升了1倍,但是带来了BVH数据创建时间和BVH内存占据的几乎线性提升:也就是也要增加100倍。鉴于此,英伟达引入了DMM功能,希望提高效率,解决线性提升的复杂度。

  ▲Displaced Micro-Mesh针对这类复杂的表面,能够很有效地提升性能。

  ▲DMM的工作原理简述,需要第三代RT核心。

  ▲英伟达给出了三个案例来说明DMME的优势。

  ▲DMME功能已经到了Simplygon以及Adobe相关软件的。

  DMME的工作特点在于,它创建了一种叫Displaced Micro-Mesh(置换微网络,简称为DMM)的新的几何单元。每个DMM由一个基底三角形和一个位移图定义。根据位移图的定义,DMME按需(比如LOD的需求)生成微三角形,并直接解决光线和微三角的交叉点问题。DMME可以使用一个高密度的微网络来昭示细节极端复杂的物体,DMME将位移的幅度压缩至每个地图中,基本每个三角形都有自己的位移地图。这些微三角形的顶点由一个二次方的重心坐标算法进行描述,这些重心坐标可以用于直接处理微顶点位移数据。

  简单来说,在DMME出现之前,系统需要调用RT模块针对目标物体的每一个三角形进行光线追踪交叉测试,但是在DMME出现之后,系统只需要把任务交给DMME,DMME根据基底三角地(简略模型)和位移图的相关参数,自动生成DMM(复杂模型)并完成光线追踪的三角形交叉计算,然后将数据返回给系统,这样就大大降低了系统的压力。在这里,DMME相当于打了个包,把可能对系统造成压力的大量计算在内部使用数学方法处理了,从而提升了效率。

  英伟达宣称,在DMME出现后,他们可以利用空间一致性进行数据压缩,并且会根据其结构和LOD(Level Of Detail)情况(或者不同的动画细节等级)进行高效率渲染。在光线追踪计算时,DMME会避免BVH的大量时间和空间成本;在光栅化计算时,DMME将会根据LOD情况进行渲染,给出正确精度的结果数据。

  由于DMME使用DMM来替代了之前的网络模型,因此对系统的压力就显而易见地降低了。英伟达给出了三个案例来说明DMME的优势。在珠宝盒计算中,原始物体拥有153K个微网络,11M的微三角形,每次BVH的模型建立,每个微三角形需要13bit数据,新的算法带来了8.5倍的速度提升和6.5倍的体积缩小。类似的情况发生在另一个复杂的青铜器模型和螃蟹模型上,新的DMME最多达带来了15倍速度提升和20倍的体积缩小。

  Shader Execution Reordering:光线追踪的乱序执行能力?

  光线追踪算法在之前的介绍中看起来都是一套完整的、串行的流程,但实际上这个过程中也存在分歧或者发散的问题。英伟达提到了三个典型的案例,比如多重反弹、随机路径跟踪算法以及评估复杂的材料等。

  ▲英伟达演示在光线追踪中,存在分歧将导致性能降低的情况。

  ▲SER可以帮助重新排序,以实现更好的效能。

  ▲在正确使用SER功能后,多款游戏都呈现出显著的性能提升。

  这种分支英伟达将其分为两类,分别是执行分歧(Execution Divergence)和数据分歧(Data Divergence)。前者是指,不同的线程在同一个着色器中,执行不同的着色器任务或者代码路径。后者是指,线程访问资源难以合并或缓存、内存资源使用不同等。在光线追踪的计算中,这样的分歧是普遍而广泛存在的,这意味着这类分歧对GPU的性能会产生影响。

  因此,在Ada架构中,英伟达设计了一种新的调度系统,被称为Shader Execution Reordering(着色器执行重排序,SER)来解决类似的问题。SER的功能就是,当这类分歧发生时,SER可以重新调度着色器的工作排序,从而避免部分着色器在等待中浪费算力和电能,以获得更好的效率和性能。

  英伟达宣称自己在SER上经历了多年的研究,在Ada架构设计之初就考虑了SER的加入,并针对SM的高效率的线程重排序以及内存系统进行了优化。

  更具体一些的话,SER在执行层面是一个API,完全由应用程序控制,允许开发人员根据应用程序的特点自行调度SER并确定重排序方式,并且SER现在可以引入光线追踪着色器了。英伟达给出一个案例,当GPU计算光线第一次击中物体时,所有的光线计算都是有序的,因此这里的计算效率是最高的。但是,当存在次级光线的时候,由于次级光线是由一级光线击中目标后散发出来的,此时光线计算在GPU上的时序就相当糟糕了,效率很低,因为不同的着色器程序运行着不同的线程,此时就存在执行分歧和数据分歧部分。

  在这里,SER可以将路径追踪、反射、间接照明和半透明的次级光线,利用重排序和分组等操作,将其序列化后再统一交由着色器进行计算,这将带来更好的局部执行效率,并提高光线追踪计算的效率。

  英伟达宣称,SER能够带来RT核心高达2倍的性能改善,当然这是局部改善,对整体游戏而言,在《赛博朋克:2077》的RT:Overdriver模式下运行时,带来了44%的效能改善。

  不过,由于SER提供的是API,具体的使用要交给应用程序也就是开发人员,因此英伟达也提供了一整套开发工具帮助开发人员调试性能。目前SER的功能将加入NSight中,NSight是英伟达的调试工具,用于针对软件和GPU的性能、功能和BUG等进行查找和调试。随后英伟达还计划和微软合作,将SER添加至诸如DirectX的扩展中。

  第4代张量核心和AV1格式的双编码器:更高算力和更强效能

  英伟达在Ada架构上还简要介绍了第四代张量核心(Tensor Core)和AV1编码器。

  针对第四代张量核心,英伟达只给出了简要介绍。实际上,Ada架构的这部分内容,基本上是移植于之前的Hopper架构,其特性包括相比Ampere,带来了2倍的FP16、BF16、TF32、INT8、INT4张量性能,加入了Hopper架构所独有的FP8 Transformer引擎,带来了最高超过1.3千万亿次的张量处理能力等。

  ▲Ada架构在张量核心方面基本继承了Hopper的设计,图为Hopper张量核心的相关特性。

  ▲Ada架构加入了第八代NVENCAV1编码和双编码器。

  如果对英伟达的第四代张量核心有兴趣的用户,建议阅读我们的在今年上半年发布的《面向新时代的AI计算:英伟达全新H100 GPU架构解读》一文。

  在视频能力方面,Ada架构继承了Ampere架构的一切特性,包括NVENC编码器的特性,并针对OBS (Open Broadcaster Software,开放广播软件)进行优化包括AI加速的相关软件特性,即噪音消除、房间回声消除、虚拟背景等等。

  另外,全新的Ada架构中的第八代NVENC也就是硬件编码器目前整合了对AV1视频编码格式的,之前的Ampere只AV1的解码,而不含编码。新的AV1编码器在效率上比H.264编码器的效率提高了40%,也就是说,在相同的视频码率和质量下,H.264编码只能获得推流1080p分辨率的影片,但是AV1能够将推流分辨率提升至1440p,或者是在相同的分辨率和码率下,AV1能够带来更好的视频质量等,实现 AV1格式视频的编解码全部流程。。

  当然,不仅仅是编码能力和功能的提升,配合软件,目前英伟达和OBS Studio合作,通过优化编码管道,使得GPU在视频编码时的消耗减少了35%,新的OBS软件还带来了噪声消除、回声消除、房间虚拟背景改善等新的功能。另外,Discord也和英伟达合作,利用AV1编码,实现了端到端的直播。

  如果新的RTX 40系列显卡显存高于12GB,那么可以启用GPU内部的双NVENC编码器,这将带来8K@60Hz的视频编码能力,GeForce RTX 40系列显卡最多3路视频流的并行编码处理,如果是专业卡,并行路数将不受限制。或者最多4个4K60Hz的视频编码能力,这个功能同样可以用于游戏直播来实现多点同步会话。Adobe Premiere Pro的插件Voukoder和国产视频软件剪映都即将开始集成NVIDIA的AV1编码和双编码器,感兴趣的玩家不妨一试。

  在解码功能方面,Ada架构的NVDEC解码器MPEG-2、VC-1、H.264 (AVCHD)、H.265 (HEVC)、VP8、VP9 和 AV1等视频格式的解码,还8K60Hz视频的解码。另外,英伟达还加入了AI功能以方便视频制作。不过这些内容会在新的“NVIDIA Ada Science Whitepaper”中予以阐述。

  总的来说,英伟达在Ada架构上带来了一次非常重要的创新和推进,它将由Turing开创的、Ampere带来全新GPU道路又向前推进了一步,同时还走出了自己新的创新之旅。我们很期待Ada架构的相关产品全面上市后给产业界带来的影响,GPU的发展在经历二十年后,还能有如此的创新,是值得称赞的。

  DLSS 3的帧生成技术和NVIDIA Reflex:更流畅的游戏和更快速的响应

  这部分技术内容,是英伟达在发布会上宣称的重点内容。但实际上,英伟达在技术白皮书部分对这些内容只做了简略介绍。不过还是有不少有趣的技术点可供挖掘,接下来我们一起来看一下。

  ▲DLSS 3功能和工作特性一览,英伟达称其为神经图形学的革命。

  ▲DLSS 3实际上包含了DLSS 2所的DLSS超分辨率,因此图中标识为DLSS 2。

  ▲在CPU性能受限的情况下,新的DLSS 3还能够带来性能的提升。

  ▲利用DLSS 3可以直接生成游戏第1帧3/4的像素以及整个游戏第2帧,实际上2帧合计的话,GPU算力只需要以前的1/8。

  ▲DLSS 3在软硬件方面,已经成为一个复杂的系统。

  ▲英伟达展示DLSS 3的帧生成技术,这是一种利用参考前后帧进行插帧处理的方法。

  ▲OFA技术测量连续帧之间的像素运动的方向和幅度。

  ▲在没有OFA的情况下,插帧可能存在错误的情况。

  ▲在OFA的下,DLSS 3完成了精确的阴影重建帧。

  ▲DLSS 3的图像画质演示。

  ▲DLSS 3的帧生成技术可能会增加延迟,因此需要配合NVIDIA Reflex来降低延迟。图为传统计算的延迟情况。

  ▲在加入了DLSS 3后,系统延迟被大幅度降低。

  ▲DLSS技术的GPU一览。

  ▲DLSS 3的详细功能、框架和软件一览。

  ▲目前即将DLSS 3的游戏,大约有35款之多。

  ▲DLSS 3带来了更显著的性能提升。

  从GPU发展以及计算机图形学在游戏方面的应用来看,在DLSS出现之前,人们针对画面呈现和性能呈现的主要方法,主要是考虑使用不断增长的算力来对冲不断提高的画面计算需求,比如分辨率提升、新技术带来的计算需求提升等。但是,单纯使用算力来对抗不断提升的视觉计算需求,在目前摩尔定律放缓、半导体制造技术更新速度减慢的大环境下,开始显得捉襟见肘了。因此,英伟达在这里改变了做法,为GPU引入了张量核心,试图使用其他的技术来对抗日益提升的视觉计算需求,这也是DLSS诞生的初衷之一。

  从原理上来说,DLSS在画面分辨率提升方面,是通过使用低分辨率渲染的画面为“材料”,利用之前通过超算训练获得的低分辨率至超高分辨率的AI模型,将低分辨率画面“计算”成高分辨率的画面的技术。随后的DLSS 2上,英伟达大幅度更新了算法,带来了更好、更精细的画面质量和效果。正如前文所说,在应用了DLSS之后,并非所有的像素都是使用算力计算出来的,还有AI直接“生成”的,像素在这里实现了很大程度的“无中生有”。

  在目前的DLSS 3上,英伟达宣称DLSS 3包含了DLSS 2也就是DLSS超分辨率技术,以及全新加入的DLSS帧生成技术和整合而来的NVIDIA Reflex。在这里,我们将重点介绍DLSS帧生成技术。

  DLSS帧生成技术的最大特点是,可以直接为游戏带来全新的帧,其运作模式也非常独特。英伟达首先提到了OFA技术。所谓OFA是指光流加速技术(Optical Flow Acceleration,简称为OFA),其执行的计算单元为OFE(Optical Flow Engine,简称为OFE)。

  有关光流加速技术,传统的计算视觉应用就已经存在。这种算法的基本原理是,通过测量连续帧之间的像素运动的方向和幅度后,利用相近帧的数据进行模拟后,在相邻帧之间插入模拟的画面,以降低延迟、改善平滑性、提高压缩率以及降低摄像机带来的画面抖动等。英伟达从Ampere架构开始就引入了OFE,利用算法来确保光流加速计算的高质量。

  在新的Ada架构上,英伟达启用了新一代OFE,新的OFE可以提供300 TOPS的光流工作算力,比之前的Ampere架构快了2倍多。由于OFE性能更强,英伟达通过OFE,并结合传统的游戏引擎运动矢量,就可以带来更精确、更为平滑和稳定的运动插帧计算效果,这就是DLSS 3包含的DLSS帧生成技术的原理概述。简而言之,从“无中生有”像素,到“无中生有”整个帧,这种不通过SM和光栅化部分计算,就能够直接新建帧画面的方法的确令人眼前一亮,这相当于将游戏画面视作视频进行处理和计算,思维和方法的确足够清奇。

  具体数据方面,英伟达的数据显示,Ada架构的GPU在使用DLSS 3、新的RT核心以及其他Ada架构增强的时候,比之前的产品最多可以提升4倍的性能。英伟达还提到,利用DLSS 3可以直接生成游戏第1帧3/4的像素以及整个游戏第2帧,接下来将循环这个过程,相当于使用1/8的算力,就完成了整个计算过程,极大地节约了系统资源、提高了游戏体验。

  不仅如此,在CPU性能受限的情况下,新的DLSS 3还能够带来性能的提升。比如在《微软模拟飞行》中,受制于游戏的物理特性和需要显示的巨量的建筑、地形、植物等,CPU性能是远远不够的,在这种情况下DLSS 3允许GPU在CPU性能受限的情况下,通过帧生成技术达到双倍帧率,这样虽然不能从根本上解决CPU性能受限的问题,但是至少可以增加显示的流畅程度,也能够针对游戏画面进行很好的体验提升。

  虽然我们上文解释了DLSS帧生成技术的基本原理,但是大量的细节内容还不是很清楚,比如在什么时候插帧、插入帧是否会影响性能,插帧的效果如何等。对于这些问题,英伟达尚未给出具体的技术细节。后期英伟达还会发布名为“NVIDIA Ada Science Whitepaper”的技术文档,等到此文档发布后,我们再会做出进一步解读。

  此外,针对DLSS 3的帧生成技术业内也有一些疑虑,那就是该技术可能会增加延迟。因为新生成的帧是“无中生有”的,它是通过两个真的帧计算出来的补充帧,因此极大可能不会在传统的fps工具上看到新的帧带来的帧率增加。并且新的帧不会带来延迟的下降,毕竟它只是系统模拟出来用于提高画面流畅性的,反而此过程有可能会带来延迟的提升,因此,英伟达现在也为DLSS 3整合加入了NVIDIA Reflex来降低延迟。

  NVIDIA Reflex技术是在DLSS发布后,英伟达提出的一整套延迟降低方法,目前英伟达GeForce GTX 900以及以后的GPU产品都能。在之前的DLSS 2中,NVIDIA Reflex技术是单独列出的,在新的DLSS 3中,英伟达将其一并集成打包为一个技术包,和DLSS 3的其他技术一起优化游戏体验。英伟达的数据显示,在新的《赛博朋克2077》RT:Overdriver模式中,英伟达的数据显示,开启DLSS 3以及内置的NVIDIA Reflex后,和原始分辨率渲染相比,整体的性能提升高达4倍,响应速度提高了2倍,图像质量同样优秀。

  在NVIDIA Reflex的性能方面,受益于RTX 40系列显卡的强悍的性能,目前NVIDIA Reflex开始1440p@360 FPS的延迟降低功能,其最大延迟仅为10ms,这相比之前的1080p@144 FPS,显然能够带来更精细的画面和更为流畅的视觉体验,值得期待。

  和其他所有软件技术需要应用一样,英伟达也在积极推广DLSS 3。在游戏引擎方面,目前英伟达还正在积极和Unity以及Unreal进行沟通,未来很快会将整个DLSS 3技术加入两大游戏引擎。如果厂商使用这两个引擎进行游戏开发的话,集成DLSS 3技术应该会非常容易。另外,NVIDIA Reflex相关工具软件也一并提供了更新和,方便游戏开发员人员进行性能调优。游戏方面,英伟达目前已经发布了35款游戏的列表,其中基本上都是3A大作,有新游戏也有已发布的游戏的更新版本。未来可能会有更多游戏DLSS 3。

  在有关显卡的方面,目前只有RTX 40系列显卡完整DLSS 3所有三大技术。之前的RTX 30、RTX 20系列不DLSS帧生成技术,但是DLSS超分辨率。GeForce GTX 900之前的产品则仅仅NVIDIA Reflex。

  和AMD FSR等技术相比的话,新的DLSS 3在另一个层面上完全抛离了竞争对手。AMD FSR的特点在于开放和不依赖于特定的GPU,但是这也是得使其不能调用相应的特殊计算模块,并且FSR证明了可以不依赖于AI,仅仅依靠算法就能够获得和DLSS 2相媲美的画面。不过,DLSS 3的出现,使得英伟达再度全面领先,DLSS 3不但拥有了更强大的画面处理能力,还能够生成全新的帧以及带来延迟的降低。AMD或者英特尔如果要赶上英伟达,可能需要更长的时间。

  更清晰的显示游戏流畅性:全面进化的Frameview

  除了显卡相关的规格和产品外,本次英伟达在GPU应用方面的内容也做出了大幅度更新。其中比较重要的就是游戏延迟的降低。

  ▲英伟达认为游戏性能的三要素是流畅度、低延迟和高画质。

  ▲英伟达针对游戏体。

标签: 交互设计