2.5 抗锯齿、TSR 与超分:用像素换帧率的两种方向

核心结论

移动端抗锯齿与"超分辨率"是同一件事的两面:渲染到更低的分辨率,再放大到屏幕。UE5 移动端默认用 TSR(时序超分辨率),它在可接受的质量下给了最大的性能空间;FSR 是可替换的上采样器,特殊场景(如强烈高对比边缘)质量更好。

名词关系图

  • 抗锯齿(AA):消除几何边缘的锯齿。
  • TSR(Temporal Super Resolution):UE5 默认,历史帧+上采样,质量与开销平衡好。
  • FSR(FidelityFX Super Resolution):AMD 的开源上采样器,UE 有官方插件(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/using-mobile-fsr-for-unreal-en-48b1)。
  • FXAA:最便宜的最后手段。
  • MSAA:移动前向渲染可用,只对几何边缘有效。

我的判决表

方案 何时选用 说明
TSR 默认 大部分项目 移动默认,先跑它再说
MSAA 2x/4x 几何边缘清晰敏感(如低多边形风格) 前向渲染支持,开销中等,但植物/粒子等不受益
FSR 需要更激进降分辨率(到 50% 都能看) 比 TSR 在低分辨率下残影更少
FXAA 老设备兜底 最便宜,但画面会糊

关键概念对比:Primary Screen Percentage

这是 TSR/FSR 的核心参数——主画面渲染百分比。渲染在 70% 分辨率再用 TSR 放大到 100%,是最常用的手势:

Primary Screen % 画面损失 帧率收益(中端机)
100 无 基线
80 轻微 +15~20%
70 可接受 +25~35%
50 明显 +50%+(需配 FSR)

我的经验:70% 是甜点。低于 60% 后 TSR 残影开始可见,必须换 FSR 兜。

常见坑与解法

坑 1:TSR 残影/拖影(尤其高速移动)

原因:TSR 靠历史帧信息,移动场景里半透明粒子、移动物体边缘容易残影。

解法: 1. 提高 Primary Screen %(从 70 提到 80)。 2. 对快速移动物体禁用半透明MotionBlur(如果开着)。 3. 实在敏感的场景(如赛车)换 MSAA+较高分辨率。

坑 2:FSR 装上了但没生效

原因:FSR 是插件,启用后还要在 Project Settings 里选上采样器。启用插件不等于开启。

解法:Project Settings -> Engine -> Rendering -> Postprocess -> Upscaling Method 选 FSR(或 temporalAA 系列)。官方 FSR 插件指南(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/using-mobile-fsr-for-unreal-en-48b1 有完整步骤,按版本选 FSR 2 还是 FSR 3。

坑 3:MSAA 与后处理冲突

原因:某些后处理在 MSAA 下没实现或降级。

解法:开启 MSAA 后全流程过一遍画面;移动前向渲染文档(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/mobile-rendering-and-shading-m-e8c2 有特性矩阵,确认你要的特性在 MSAA 路径下可用。

我的上采样设置(项目级)

r.AntiAliasingMethod=1            # 1=FSAA, 用 TSR 时按文档设置
r.ScreenPercentage=70             # TSR 甜点
r.MeshStreaming 之类按项目调

心得:超分辨率是移动渲染的"免费午餐",但它不是没代价——画质损失在截图里看不出来,在玩家动手指的时候感觉得到。所以项目结束前,一定要在真机上把"移动场景"完整玩一遍,而不是看静态截图验收。