标准的渲染流程主要按以下几个阶段顺序执行
几何阶段->应用阶段->光栅化阶段->像素处理阶段
几何阶段主要工作及优化方式
1.批处理主要针对几何阶段的CPU收集信息并提交到GPU进行处理这个过程进行优化,执行一次这个数据提交的过程也被称为调用一次Drawcall
2.通常情况Drawcall越低性能消耗也越低,不过性能消耗的主要原因并不是调用Drawcall导致的,而是执行Drawcall之前cpu收集材质几何等数据并处理的这个过程
SRP批处理
1.SRP批也是在几何阶段进行的一系列优化,该优化不会使Drawcall减少,Batches会随着DrawCall的数量逐渐递增
2.SRP合批会在第一次绘制时,把每次CPU在绘制之前去收集的材质信息和几何数据等存放在GPU的CBUFFER或者ObjectBuffer中,GPU需要渲染时则从CBUFFER中获取Cpu上传过来的数据
3.如果单次绘制没有发现Shader 变体会跳过SetShaderPass以及收集数据并上传到GPU的过程,直接进行Bind操作,也就是说需要尽可能生成更少的Shader变体