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 优化方案对比
  • 手动合并网格(通过 Mesh API 手动合并网格,通过减少网格数量减少 DrawCall,可控性和灵活性更高)