DLSS4多帧生成的操作延迟测试 帧生成真的会导致延迟增加吗?
DLSS4多帧生成的操作延迟测试 帧生成真的会导致延迟增加吗?
DLSS4是NVIDIA最新推出的多帧生成技术,它能够在保持游戏画质的同时大幅提升帧率。但是,这项技术是否会导致操作延迟增加?本文通过实测数据,详细分析了DLSS4在《赛博朋克2077》中的表现,解答了玩家关心的性能和延迟问题。
本次测试的内容是,赛博朋克2077,2K最高画质,传统光追最高,帧生成关闭,仅开启reflex,DLSS 2X,DLSS 3X,DLSS 4X的操作延迟和帧数。
测试平台:
5800X,ROG X570-E,3200C16双通道,RTX5080,ROG PG279QM(2K240硬件G-SYNC),DeathAdder V2。
测试工具:NVIDIA Reflex Latency Analyzer(RLA/延迟分析器)
测试场景和原理:
场景
测试场景选择赛博朋克2077开局公寓的停车场,站定位置和鼠标瞄准位置全程固定。
RLA是第四代G-SYNC显示器内置的芯片,配合NVIDIA APP,可以计算连接到显示器的鼠标按下左键,到屏幕某一块像素发生变化的时间差,即完整的操作延迟(从鼠标到显示器/端到端/系统延迟)。当按下鼠标左键时,显示器会收到一个USB信号。当屏幕上手动调整的白色块覆盖范围,即枪口,发生火焰时,记录时间,两者时间差为“PC+显示器延迟”,再查表加上鼠标本身延迟,即“系统延迟”。
游戏设置:
测试结果和分析:
数据统计
①帧生成真的会导致操作延迟增加吗?要看和谁比。所有开启DLSS4帧生成的组(345),操作延迟都比不开帧生成的第1组低。
原因有两个:DLSS3/4帧生成强制开启Reflex,这会清空CPU指令队列(渲染队列),使操作延迟大幅度下降。帧率提高,由于处于G-SYNC状态,刷新率也会提高,帧率和刷新率提高也可以降低操作延迟。帧生成这项技术本身是一定会增加操作延迟的,但这两个因素下拉延迟导致总体来看,操作延迟是下降的。
与开启Reflex的第2组对比,可以看到开启帧生成,操作延迟是会增加的。
②开启帧生成时,随着2X 3X 4X...补帧倍率的提高,操作延迟也在增加。但增加的幅度绝对不是两倍三倍这么夸张。4X相比2X操作延迟增加的幅度只有12%。
帧生成的原理非常简单。渲染原始帧1,渲染原始帧2,这个2先留着,不发送给显示器,GPU根据1和2(可能还有更早的帧),生成中间的帧。DLSS3,也就是2X,是中间生成1个假帧。DLSS4,4X,是生成3个假帧。然后根据原始帧的间隔,均分出几个时间点,把这些假帧在这些时间点发送给显示器,以保证帧间隔的尽可能均匀。
有些人说DLSS4操作延迟低,是因为原理是预测帧,即不用原始帧2,渲染完原始帧1,tensor core开始预测后面的帧,cuda core在渲染原始帧2,因为前者比后者快,所以可以实现完全不增加延迟的帧生成。这对吗?明显不对。测试数据表示DLSS4的操作延迟也是增加的。
如果有人可以拿出NVIDIA官方的资料,证明DLSS4是帧预测,可以告知我,我会道歉并修改这段内容。
③为什么很多人觉得开启帧生成之后操作延迟很高,枪不跟手?
一个基本原理是,帧数越高,操作延迟越低。例如120帧的操作延迟比60帧的低。也是两个原因。一是高帧率时帧生成时间短,二是显示器可以更早的刷出新画面。
现在假设原始帧率是60,操作延迟是70ms,帧生成4X之后,是200帧(会有一些损失的,不会达到240),操作延迟是65ms。
怎么说呢?操作延迟的降低幅度远远低于帧数的提高幅度。你实际是在用200帧体验60帧的操作延迟。
可以看测试数据的最后一组。2K最低画质,此时GPU没有吃满,指令队列清空,相当于开启了reflex(实际我没有开),161帧,21.1ms延迟。我的CPU性能不够,无论如何看不到真实的220帧情况的延迟。但161比较接近DLSS 3X的176帧。对比两者的操作延迟,差了两倍左右。
也就是说,同样是一个比较高的帧数(例如160,220这种数),原生的高帧率,操作延迟非常的低,而帧生成的高帧率,操作延迟还是低帧数状态的(50,60,70这种数)。
还有一个原因。当帧数低的时候,体验差主要表现在卡,画面卡,你自然而然的会觉得,晚看到操作,是合理的。当帧生成把帧数补到很高时,留给你的拉跨体验只剩下高操作延迟了,你的感受会很明显。
所以帧生成要不要开?
FPS电竞游戏,即使有这个功能,也不要开。
单机游戏要分情况。尽量保证原始帧率,甚至是4X补帧后的帧数/4,3X补帧后的帧数/3,2X补帧后的帧数/2(这三个数值肯定比原始帧率低,因为帧生成本身要吃一点CUDA性能),高于60,甚至90,可以考虑开启帧生成。换句话说,帧生成不是给超低帧数兜底的。你的原始帧率如果很低,50以下,那么开启帧生成之后操作延迟高的感受会很明显。帧生成是给本身已经很高的帧率锦上添花的。比如有的游戏能跑个70帧,或者120帧,你显示器刷新率是超高刷,240Hz,360Hz这种,那么开启帧生成可以更加流畅,操作延迟也没多高,感受不明显。
另一个问题的拖影等瑕疵。不知道是不是2077优化好,我没有看到任何瑕疵。
我个人是很反感DLSS超分的。所以我全程没有开启超分,以2K原生分辨率渲染,也就避免了超分的瑕疵。单说DLSS帧生成的瑕疵,我是没有看到。
如果经常看我测试文章,应该会有一个疑问?帧生成之后的帧率超过刷新率怎么办?怎么配合G-SYNC?
首先帧数超过刷新率时,硬件G-SYNC和G-SYNC compatible的帧节奏行为是不同的,这个事情大部分人都不知道,我也是前段时间测OW的时候发现的,想看可以看我最近的视频。G-SYNC compatible在帧数超过刷新率时,和没有它是一样的行为,所以通常来说G兼容不用刻意去关,百害而无一利。G-SYNC则不一样,它有一些控制帧节奏的行为,导致帧数降低。
无论如何,对于单机游戏,让帧率控制在刷新率以下,都是利大于弊的。传统锁帧,并不兼容DLSS帧生成。
而如何在帧生成开启时实现锁帧低于刷新率?可以点个关注,敬请期待。这个月应该会发新的文章。
