UPL6——图形渲染优化
UPL6——图形渲染优化
前置知识点:
- UG2L15——Drawcall(了解 Drawcall 的概念)
- US5L8——帧调试器 Frame Debugger(可以观察 Drawcall 的数量)
- DrawCall
- 动态批处理(在运行时每帧将多个相同材质的动态小对象进行合批,减少 DrawCall,局限性较大)
- 静态批处理(在构建时将多个相同材质的静态对象网格合并为大网格,再一次性提交 GPU,用内存换性能,减少 DrawCall)
- GPU Instancing(让 CPU 通过一次 DrawCall 传递所有相同网格和材质对象的实例数据,让 GPU 根据实例数据绘制,在绘制大量重复对象时显著降低 DrawCall)
- SRP Batcher(将相同 Shader 的物体和材质数据缓存到 GPU,只在内容变化时更新数据,减少相同 Shader 但材质不同的 SetPass 的性能消耗,不减少 DrawCall)
- DrawCall 优化方案对比
- 手动合并网格(通过
MeshAPI 手动合并网格,通过减少网格数量减少 DrawCall,可控性和灵活性更高)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
