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