Dynamic Batching
动态合批是Unity默认执行的,我们无法修改Unity的合批规则,只能尽量让游戏场景内的物体符合合批规则。
动态合批规则
- 材质相同是合批的前提。但是如果是材质实例的话,则一样无法合批。
- 支持不同的网格合批,但必须使用相同的材质球。
- 单个网格最多300个顶点,900个顶点属性。
- 镜像的transform无法合批。
- Lightmap对象无法合批。
- 合批上限是2^16
Static Batching
可以使用不同的网格,静态合批也需要使用相同的材质,然后Static标记为Batching Static。
静态合批的顶点上限是2的16次方,如果超出,会生成一个新的batch。
静态合批的缺点
- 会增加内存占用,静态合批后的网格比较大。
- 会增加包体的大小。
GPU Instancing
相同的网格,相同的材质球,但可以材质属性不同
SRP Batcher
不同的网格,不同的材质球,但是要相同的shader