批处理
Batches和Saved by batching
Batches:批处理
批出理的核心就是CPU把使用相同材质球的物体的网格合并再一起,然后把这个合并后的网格扔给GPU渲染,而不是一个一个网格扔给GPU渲染。
Stats面板上的Batches的值(批处理次数)说白了就是Draw Call的次数,就是要渲染完整个场景,CPU要总共通知GPU多少次。
Batch影响因素
- 模型是否能够进行静态、动态批处理
- 灯光是否开启阴影
- 物体是否投射阴影
UGUI合批
UGUI控件本质上也是网格,渲染上和3D组件没有什么不同
UGUI的合批就是把某个Canvas下满足合批规则的UI控件的网格合并为一个大的网格,然后将这些网格合并在一起,调用一次Draw Call,然后提交个GPU进行绘制。
UGUI合批规则
总体规则
- 两个UI控件能合批的基本条件是这两个控件使用的材质球(Shader)和贴图要完全相同。
- 合批是以Canvas为单位的(Canvas嵌套不支持,不包含子Canvas,子Canvas会是另外一个批次)
规则细节
- 把所有Canvas给找出来,然后剔除掉不必渲染的C