1.4 前向 vs 延迟:移动端渲染管线的真实成本
两条管线
| 前向渲染 | 移动延迟渲染 | |
|---|---|---|
| 光照成本 | 随光源数线性增长 | 与光数量解耦 |
| 透明物体 | 天然支持 | 需单独前向通道 |
| MSAA | 原生支持 | 麻烦 |
| GBuffer 带宽 | 无 | 高(移动端带宽敏感) |
| 动态光源多 | 慢 | 优势 |
移动端默认前向渲染;移动延迟渲染见官方「移动延迟着色模式」(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/using-the-mobile-deferred-shad-ebf5),整体管线概念见「渲染和着色模式」(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/mobile-rendering-and-shading-m-e8c2)。
经验判断
- 光照少且稳定(4 盏以内动态光) → 前向,简单又快
- 多动态光源场景(多支手电筒/技能光球) → 移动延迟值得评估
- 透明粒子多 → 前向(延迟的透明通道是额外开销)
- 带宽敏感的低档机型 → 前向
结论:不做「多光」就别上延迟。多数手游是「白天静态光 + 少量动态光」——前向是正解。
前向渲染的光照优化
前向管线的成本模型是「像素数 × 光源数」,所以:
- 光的逐像素影响范围(衰减半径)越精准越好——重叠范围意味着像素被多次计算
- 用静态光 + Lightmap 代替动态光(环境光、室内光全部烘焙)
- 移动端烘焙光照质量远便宜于实时 GI——善用「静态光 + 少量动态高光」组合
- 阴影只给「必须看的物体」(主角、BOSS、关键交互物)
透明与粒子
- 移动端半透明叠加是高开销项,粒子材质能不透明就不透明(用 SoftMask/AlphaTest 近似)
- 粒子的 DrawCall 在移动端比 GPU 时间更扎眼——合并材质、用 GPU 粒子(需功能级别支持)
移动端渲染功能自检表
「移动端渲染功能」(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/mobile-rendering-features-in-u-7019)是官方完整清单。我的逐项确认模板:
- [ ] 移动端 HDR 开/关与目标设备带宽匹配
- [ ] 阴影:CSM 级数 ≤2、距离 ≤20m,或只对角色投影
- [ ] SSAO 按档位关/低
- [ ] 后处理:柔和景深只在高效档开(2.3 节)
- [ ] 雾效:逐顶点雾化(移动端最省)
- [ ] LOD:基础密度与距离正确(3.3 节)
心得:管线选型我早年犯过一个错——被「延迟渲染更先进」带偏,折腾一圈移动延迟,最后重回前向。管线没有先进落后,只有「成本模型匹配你内容」与否。多动态光源才值得换延迟的账,别为了技术先进换。
