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高,可以说是非常的友善了。
因为大量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。
性能测试
测试平台:
CPU | AMD 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的初代超分辨率技术,画质表现优良,性能提升巨大,并且易于集成,目前已经有众多合作伙伴,未来可期。