来自AMD的免费性能提升-FSR技术实测

FSR基本技术介绍

AMD FSR是FidelityFX系列游戏特效中的最新成员,是一种面向游戏的超分辨率技术。提到超分辨率技术就不得不提一下Nvidia在两年前推出的DLSS技术,一种基于AI的超分辨率技术,可以将低分辨率游戏图像提升到高分辨率,从而节约显卡性能。DLSS一代推出之后因为苛刻的实现条件以及并不算出色的画质,并没有得到广大玩家的好评。之后Nvidia又推出了第二代,改善了一代中的诸多毛病,比如需要预训练,画面模糊,需要限定的游戏分辨率等等,在玩家中得到了较好的评价,但Nvidia的技术通常都是封闭的技术,所以AMD无法使用。当然作为开源急先锋的AMD肯定不会坐视不管,于是就有了FSR。

和DLSS不同,AMD的FSR并没有使用AI来实现超分辨率,而是使用了传统的图像处理算法。

通常来说,游戏画面放大后的模糊感主要来自两部分,物体边缘与背景色混合导致的模糊和低分辨率纹理带来的模糊。

首先游戏引擎先以低分辨率渲染3D画面,而FSR在游戏引擎做完Tone Mapping操作之后的插入,将Tone Mapping之后的低分辨图像作为输入。首先将低分辨率图像插值到高分辨,然后对图像进行边缘重建消除边缘的模糊感,最后对纹理进行锐化,改善纹理观感。游戏引擎中会产生噪声的特效需要在FSR之后对高分辨率图像插入,因为这步会影响锐化算法。而2D的HUD则在最后一步使用原生分辨率渲染,避免文字模糊。

这就是FSR实现的全部流程了,是不是非常简单?正因为如此,FSR的集成也非常方便,不需要对引擎进行过多的改造。所以在正式发布的时候,会有7款游戏支持,后续即将跟进的还有另外12款,其中包含纪元、FC6、生化危机、Dota2等流行大作。

合作伙伴相当的多,未来支持的游戏应该是少不了的

作为对比,Nvidia的DLSS1的集成和FSR类似,但是需要游戏厂商预先训练AI,然后在玩家运行游戏的时候,调用Tensor Core来还原低分辨率图像。训练这步会让游戏厂家付出很多的时间和金钱,这也是DLSS1代厂商跟进速度慢的原因。DLSS2的集成则更加复杂,DLSS2需要游戏引擎输入几何信息,和最近几帧的图像信息,并且每一帧图像都需要使用不同的像素中心,纹理也需要引擎调整mipmap的等级来保持锐利,这就需要对游戏引擎进行大幅的改造了,集成难度高出几个层次。

说完软件支持上的难易程度,再说说硬件,众所周知DLSS是需要Nvidia的Tensor Core进行实现的,这也就将显卡限定在了RTX系列上。FSR没有这种依赖,FSR只需要支持FP16的显卡使用Compute Shader来完成,按道理来说,可以覆盖到相当老,和相当弱的显卡,比如十年之前的显卡,再比如核显。当然AMD官方现在认证的最早显卡,只到北极星和Nvidia的10代。同时FSR的时间消耗也并不比有专用硬件的DLSS高,可以说是非常的友善了。

银河破碎者中直接将FSR的实现标注为up_fsr_fp16。FSR部分大约占总生成时间的8.4%,挺低。
FSR的边缘重建与纹理锐化均主要使用FP16进行。

因为大量FP16的使用,所以可以推测近期的显卡在FSR上的表现会更好(手上没有老卡做实验),毕竟有双倍的FP16吞吐率。

画质对比

FSR提供四种不同的画质级别,“高质量”、“质量”、“平衡”、“性能”。这几种模式分辨对应不同的引擎渲染分辨率,高质量模式下,原生分辨率除以1.3即为渲染分辨率,质量模式为1.5,平衡模式1.7,性能模式2.0,渲染分辨率越高,效果越好:

纪元1700

原生
高质量
质量
平衡
性能

终结者

原生
高质量
质量
平衡
性能

Kingshunt

原生
高质量
质量
平衡
性能

银河破碎者

原生
高质量
质量
平衡
性能

GodFall

原生
高质量
质量
平衡
性能

看完这么多图之后,大家感觉如何?对于我自己而言,我觉得高质量模式和质量模式都非常不错,高质量模式可以提供几乎完美的观感,某些地方甚至有比原生画面更加锐利的表现。质量模式下,线条边缘会稍微模糊一点,喜欢边缘平滑一点的玩家应该比较喜欢这个模式。平衡模式就可以看到比较明显模糊了,但也在可以接受的范围内。性能模式下,模糊程度进一步加剧,虽然我自己感觉不是很能接受,但是对于竞技游戏来说,对于性能的要求远大于画质,也许对竞技玩家来说是个好选项。

由于FSR这次首发的游戏中并没有同时支持FSR和DLSS的游戏,所以我们无法对他们做出一个客观的可量化的评价。从原理上来分析,FSR的算法是纯粹的传统图像处理算法,这种算法的好处是获得画质很稳定,但对于眼睛的讨喜程度来说不如DLSS。

DLSS作为AI处理的超分辨率,并且依赖于不同像素中心的时域采样来获得更多的图像输入信息,以及游戏引擎输出的几何信息,可用的数据足够多,所以它的画面还原程度上会强于FSR,但AI和这些多出来的数据也不总是起着正面效果。AI的输出与训练场景息息相关,DLSS2中的通用模型不能完全覆盖所有场景,所以在某些特定的场景下会有细节补充过头或者失真,这个在DLSS2作者的论文配图中就可以看到。时域采样则带来了更多的问题,对于高频画面,比如光追降噪不完全的地方,噪音会导致时域采样前后帧的输入完全不同,结果就是画面不停的闪烁,这个在控制这个游戏中也很容易见到。纹理上的BUG则更加常见,几乎所有的动态纹理DLSS都不能很好的处理,因为纹理上图像的运动没有和输入的几何信息对应,所以图像的运动会造成严重的拖尾,这个打开死亡搁浅走到高速公路旁看看那些上升的“墨水”就知道了。

综合来说,画质上DLSS如果在没有BUG的时候是看起来更舒服的,有BUG的时候,我会宁愿选择FSR。

性能测试

测试平台:

CPUAMD Ryzen 7 5800X
主板ASUS PRO WS X570 ACE
内存皇家戟 3200 C16 OC 3800
显卡6900XT、6800XT、6800、6700XT、5700XT、2080
声卡创新 AE9
散热器FS140
(显卡均为公版)

性能提升非常的可观,性能模式夸张的达到了最多260+%的提升,可以说是非常巨大了。哪怕是画质几乎可以和原生分辨率一致的高质量模式最少也在25%以上,对于玩家来说是个巨大的福利。同样因为没有同款游戏支持FSR和DLSS,所以没有加入DLSS的对比。不过从DLSS的缩放因子来看,应该可以了解到一些端倪,DLSS的质量模式对应着FSR的质量模式1.5,性能模式对应着平衡模式1.7,高性能对应着FSR的性能模式2.0,FSR的高质量模式则没有对应1.3。

总结

FSR作为AMD的初代超分辨率技术,画质表现优良,性能提升巨大,并且易于集成,目前已经有众多合作伙伴,未来可期。