赛博朋克2077帧率从40涨到100,英伟达新算法还在路上

先简单说下ReSTIR是什么。这几年光线追踪技术越来越普及,但真正的路径追踪,也就是让光线在场景里多次反弹、模拟真实光照的那种效果,对算力的要求高得离谱。每一帧画面需要采样大量的光线路径,才能让画面没有噪点、看起来干净。ReSTIR是英伟达几年前提出的一套采样算法,核心思想是复用相邻像素和前后帧的光线采样信息,避免每一帧都从头开始计算。这套算法在《赛博朋克2077》的过载模式里已经用上了,让路径追踪从“不可能”变成了“勉强能跑”。

这次英伟达对ReSTIR的改进集中在三个方向。第一是引入了基于机器学习的时域稳定性优化,解决了老版本在动态场景下画面闪烁的问题。以前的ReSTIR在镜头快速移动或者物体运动的时候,采样信息复用会出现偏差,导致画面出现噪点或者不自然的闪烁。新版本用了一个轻量级的神经网络来预测采样信息的有效性,能更好地判断哪些信息可以复用、哪些需要丢弃重新计算。画面干净了不少。

第二是改进了几何缓冲数据的压缩方式,把显存占用压低了大概40%。ReSTIR算法需要存储大量中间数据,包括法线贴图、深度信息、材质属性等等,显存小一点的显卡根本扛不住。新算法在保持精度的前提下,把数据压缩得更紧凑了,显存门槛降低之后,更多的显卡能跑得动路径追踪了。

第三是新增了自适应采样密度功能。老版本算法在全屏范围内使用统一的采样密度,导致性能开销很大。实际上画面里有些区域不需要那么高的采样精度,比如暗部区域或者纯色墙面,人眼对那里的噪点不敏感。新算法能识别这些区域,自动降低采样密度,把算力集中到画面边缘、高光区域、反射区域这些更需要精度的位置。动态分辨率调整也被整合进来了,帧率不够的时候自动降一点渲染分辨率,性能优先还是画质优先,让算法自己动态平衡。

英伟达公布的数据显示,在RTX 5090上运行改进后的ReSTIR算法,《赛博朋克2077》的过载模式帧率从原来的40到50帧提升到了100到120帧。《黑神话:悟空》的光追模式下,性能提升也接近两倍。这两个数据都还是在没有启用帧生成技术的前提下测的,如果把DLSS 4的帧生成打开,帧率还能再往上翻。

不过这项技术目前还处于研究阶段,英伟达没有公布具体的落地时间。按照以往的节奏,从论文发表到驱动集成,再到游戏开发者真正用上,大概需要半年到一年的周期。而且游戏引擎那边也得跟进,虚幻引擎和Unity需要把新算法集成进去,开发者才能在自己的游戏里调用。英伟达表示正在跟Epic Games和Unity Technologies合作,推动新算法进入下一代引擎版本。

对于普通玩家来说,这项技术的意义很直接。路径追踪一直被诟病是“显卡杀手”,开了之后帧率腰斩是常态。英伟达这次从算法层面下手,不依赖更快的硬件,而是让现有的硬件跑得更聪明。2到3倍的性能提升,足以让路径追踪从一个“截图专用”的技术变成真正可以日常游玩的选项。