芯片架构先行,为AI计算铺路
DLSS诞生于2019年初,它是NVIDIA近几年来最具创新性的技术功能之一,或许没有之一。直至今天,在三年半的时间里,DLSS的功能不断优化,性能不断增强,从最初的1.0版本发展到了2.4,实实在在造福了无数游戏玩家,甚至改变了游戏厂商开发游戏的策略,相信现在任何一个3D游戏大作的粉丝或者关注图形技术发展的人都对DLSS这四个字母耳熟能详。
DLSS 全称Deep Learning Super Sampling(深度学习超级采样),说它造福了游戏玩家,是因为它最大的功效是极大降低了游戏帧数对显卡传统Shader算力的依赖,同时还提供抗锯齿效果,并尽可能的保存原生画质。在DLSS出现之前,无论抗锯齿还是分辨率缩放提高帧数,具有类似功能的技术虽也层出不穷,但能同时提升性能又保存画质的,DLSS是第一个。
NVIDIA能实现历史性突破,离不开硬件层面的支持,从RTX 20系的图灵架构开始,SM簇中出现的新角色——Tensor核心就为DLSS的诞生埋下了伏笔。
众所周知,NVIDIA的CUDA架构一直采用MIMD设计,即多指令多数据流,或称为1D标量处理器,它们可进行FP32计算,即单精度浮点运算,在常规渲染着色作业中,它们的利用效率非常高。而深度学习属于AI张量矩阵计算,需要矢量计算单元的支持,它对浮点精度却没有太高的要求,如果调用原本的流处理器做此矢量计算不但效率低下还会占用原有的渲染算力。于是NVIDIA从图灵架构开始在核心架构中SM中添加了具有FP16半精度浮点计算工功能的Tensor核心,专门负责DLSS所需的计算。在目前市售GeForce RTX 30系显卡所属的安培架构中,Tensor核心已升级到第三代。
DLSS如何做到鱼和熊掌兼得?
DLSS也好,还是其它超级采样——亦如AMD推出的FSR也好,它们的共同点是肯定首先要降低原生帧画面的渲染分辨率,这是减小负荷提高帧数的前提,不同之处在于如何将渲染帧画面处理成为屏幕分辨率呈现在用户眼前。
天上没有掉下的馅饼,如果仅仅靠降低渲染分辨率的空间缩放就能使画质和帧率兼得,那芯片巨头就不需要呕心沥血地研发新GPU架构了。要想让优化后的画质无限趋近于原生,就必须做更多的工作,加入更复杂的算法。
在一定像素范围内,采样的数量越多,输出到大分辨率对应坐标的像素值就越精确。但像素值精确只是机械的理论精确,不代表画面准确,结果是物体边缘马赛克没了,却变的朦胧,如果继续扩大采样范围还会变得更模糊,乃至画面失真。所以光靠这条路是走不通的。
如何加大采样数量又能限制采样范围呢,DLSS在空间采样的基础上增加了一个时间维度——如上图所示,用1080P渲染输出到1440的屏幕上,DLSS会同时采样当前帧和之前几帧的画面,采样的帧画面范围会凭借帧生成时间和像素值的比对由AI判断,确保该帧适合被纳入采样范围,其中要用到张量计算。
假如输出一帧1440p画面要对三帧1080p做采样,代表一共输入了6M以上的像素数据计算最终得到了一个3.5M的1440p画面。而相对简陋的空间缩放技术要得到同样一张画面仅依靠2M左右一帧1080P像素数据。输出质量孰优孰劣,不言自明。
DLSS本质上也是一种抗锯齿技术,它们工作原理基本相同,都是要经过对原生像素做采样,再重组画面,不同的是前者要不断地让AI自动比对超高分辨率静态图像(SSAA超级采样抗锯齿)和低分辨率图像之间的差异,综合多种采样方式的结果推理出把图像从较低的分辨率提升到较高的分辨率的最佳方法。传统的抗锯齿无论SSAA还是MSAA都要消耗额外的性能降低帧率,而DLSS却可以在提供抗锯齿效果时还提高帧率,也就是说DLSS某种程度上不但不降低画质,反而提升画质,这一点在DLSS2.0上表现得尤为明显。
从1.0到2.4,DLSS的进化历程
DLSS以SDK的形式集成在游戏中,通常在画面设置菜单中控制。最初的DLSS1.0版本只有开和关选项,最大能提升一倍的帧数性能,尽管这个表现十分惊艳,但是也存在较为明显的画面损失,而且支持的游戏也很少。从某种意义上来说,DLSS1.0只是对该技术的效能予以验证。
时间到了2020 年 3 月,当DLSS 2.0问世之后,它真正开始大放异彩。DLSS2.0加入了新的时间采样,更有效的利用了Tensor核心,提供多段位的优化级别选择,让玩家能在画质和性能之间灵活取舍,有更清晰的细节和更好的稳定性。
随着DLSS技术的完善,引起越来越多的游戏开发者重视,尤其是那些画面出色,支持光追特效,对显卡性能需求较高的游戏作品可以通过这项功能极大拓宽对显卡的适应性,对游戏厂商而言这无疑是个利好。于是在DLSS2.0之后,如《赛博朋克2077》、《地铁:离去》等对显卡要求较高的大作纷纷加入此项功能,支持DLSS的新老游戏很快便多达55款。
在正确的道路上不断推陈出新是每一个行业领袖的成功秘诀。紧接着2020年9月NVIDIA将DLSS更新到2.1,在优化档位中增加了用于超高分辨率游戏的“超性能模式”,让GeForce RTX 3090显卡能够在8K分辨率下提供足够正常体验的帧率,首次将这一次世代游戏分辨率实用化,更可怕的是该模式下竟然没有过于明显的画质损失。
此后DLSS便在不断优化AI算法的道路上勇往直前,现已更新到2.4版,对于画质的还原水平已达到新的历史高度。
以最近发售的光追游戏《F1 2022》为例,该游戏支持DLSS2.4的同时也支持AMD推出的同样以帧数优化为目的FSR,将两者的画质效果做对比,孰强孰弱一目了然。
FSR只有质量模式能勉强保持相对清晰的画面细节,从平衡模式开始游戏画面已经明显损失细节,到超性能模式下则变得非常模糊,不堪忍受。这与从质量到超性能几乎一直保持清晰画质的DLSS2.4根本不在一个水平线上。当然,与开源的FSR不同,要享受DLSS的前提是你必须使用GeForce RTX系列显卡,这是NVIDIA忠实粉丝的特权。
渐入佳境,DLSS走上封神之路
AI作为科技行业最热门的趋势之一,是DLSS无可争辩的优势。NVIDIA DLSS是唯一由AI驱动的超级分辨率技术,这一优势可转化为最高2倍的游戏性能提升。它也是唯一可用的借助深度学习神经网络确保图像质量媲美原生分辨率图像的缩放技术。
DLSS在保证视觉享受的前提下降低了游戏对显卡性能的依赖,在这个通货膨胀加剧,显卡价格昂贵的时代,对游戏玩家的帮助无需言表,与此同时,对游戏厂商意义甚至更大。
游戏开发者不再需要像以往那般斤斤算计自己设定的游戏画质能覆盖到多少显卡上流畅运行,他们可以放心大胆的提高画面质量,运用更加拟真的特效(如光线追踪),不必担心影响作品的销量。时至今日,已有多达200款游戏和应用支持DLSS,几乎所有主流游戏开发者都将NVIDIA DLSS技术视作超分辨率采样的设计标准
比如近期上市的赛博朋克风格新作《生死轮回》,4K分辨率最高画质光追开启,使用DLSS性能模式帧率提升幅度超过100%,直接将RTX 3070/3080等显卡从20、30fps尚不能满足最低体验门槛的帧数瞬间跃迁到畅爽体验的范畴。由此见得DLSS势必成为游戏开发的所必须倚仗的核心技术手段而一统天下,它为游戏玩家和游戏开发者以及作为技术提供方的NVIDIA本身描绘了一个三方共赢的前景,一个雨露均沾的良性循环。