Saber 酱的抱枕

Fly me to the moon

03/31
2023
软件

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

我一直把 RTX 超分辨率设置为最高的 4 档,但是今天我发现有时我显卡的算力不够用。

我的显示器是 2560x1440 75 Hz,当我全屏播放 1080p 60 fps 视频时(也就是超分辨率放大到 1440p),实际上每秒输出的帧数不是 60,而是显示器刷新率的一半 37.5。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究


最初我以为是 Potplayer 的问题,但是当我安装了 MPC-HC 播放器之后,我发现它的表现和 Potplayer 一样。

视频在以原分辨率播放时是正常的 60 fps,但是一旦全屏就变成 37.5 fps。

折腾许久未果,后来我发现了盲点,把视频播放区域逐渐拖大,发现随着实际渲染分辨率的增加,帧数逐渐降低,这才意识到是显卡的算力不够。

未放大时:

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

接近窗口最大化时:

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

全屏时:

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

之后我把超分辨率档位降低到 3 档,问题解决了,能始终保持 60 fps。


之后我又观察了 GPU 使用率的一些数据。

我的 GPU 是 3070 Laptop,当 VSR 为 4 档时,窗口最大化播放 1080p 60fps 的视频,GPU 使用率已经超过了 90%。

全屏时帧数当然会进一步降低,但是 MPC 渲染器在全屏后主动把渲染帧数降低到了显示器刷新率的 1/2,所以帧数变成了 37.5,GPU 使用率也随之下降到了65%。

如果是在浏览器里全屏播放,只会单纯降低帧率,不会像 MPC 渲染器一样降低到刷新率的一半。

此时由于显卡瓶颈,我无法得知把视频维持在 60fps 需要多少算力,只能大致估算。

当我窗口最大化播放时,帧率为 48,显卡功耗已经拉满:

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

上图中显示显卡使用率已经 99%,不过任务管理器里的 3D 使用率低一些,为 94%。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

如果按任务管理器的数据推算,保持 60 帧需要 118% 的 3D 使用率。

把质量档降为 3,可以维持 60 fps,此时使用率为 67%,降低了很多。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

(不过功耗还是接近满载)

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

3 档的显卡使用率约为 4 档的 60%。


我找到了一个 720p 60fps 的视频测试,这次没有瓶颈,可以放大到 1440p 60fps。

当质量为 4 时,使用率为 61%。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

当质量为 3 时,使用率为 44%。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

3 档的显卡使用率约为 4 档的 70%。

按照上面两组数据粗略估算,4 档需要的算力约为 3 档的 1.4 倍。


在 B 站某个直播间看视频,1080p 30 fps。

当质量为 4 时,使用率为 50%。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

功耗真是没救了。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

当质量为 3 时,使用率为 36%。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

功耗也降低了很多。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究


下面是一个低分辨率视频从 854x480 超分辨率到 1440p 的对比图。从左到右依次是:

未启用 VSR、3 档、4 档。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究

可以看出 3 档还是明显比 4 档差的,不管是轮廓锯齿还是颜色噪点都比较明显。

(九转大肠梗:我故意保留了一些狗牙,这样你才知道你看的是低分辨率视频)

不过我喜欢全屏看视频,为了避免 4 档出现帧率变成 37.5 的情况,还是开 3 档吧。而且这样也可以降低功耗。


在研究问题的过程中,我发现源视频的分辨率越高,放大时所需的算力越多。这和我一开始的猜想是反的。

比如有两个视频,一个是 480p,一个是 1080p,都超到 1440p,我原以为 480p 放大倍数高,1080p 放大倍数低,所以 480p 会需要更多算力。

但事实是 1080p 需要的算力更多。这或许是因为 1080p 的画面包含的信息和细节更多,所以放大时的运算也会更多。


从现在的情况来看,这张 3070 laptop 显卡就卡在这儿了。

因为我的屏幕是 1440p,那些原本就是 1440p 和 2160p 的视频不需要超分辨率。

对于低于 1440p 的视频,开 4 档的话处理不了 1080p 60 fps,但是如果降到 3 档又变得尚有余力了。

毕竟这张显卡的功耗墙是 140w,笔记本就这样了,没办法。(不过好像再提高功耗,性价比也不是很高了,特别是 30 系的能耗比不如 40 系)

怪不得我看到一些评论说 4080、4090 开 3 档把视频放大到 4k 会超过 300w 功耗,啧啧。看来实时超分辨率对个人显卡来说还是压力太大了。

NVIDIA RTX VSR 超分辨率的显卡占用情况的简单研究