Unity优化回忆录
合批优化
游戏客户端开发必定会讲究一个指标叫做Drawcall,这个词表示的是每一帧游戏客户端向图像引擎发送的渲染命令个数。每条渲染命令实际上是给图像引擎执行一次渲染过程。可以理解为对某某片元执行了一次draw函数。
先说结论吧:不同的sprite,如果z方向上相邻且图片资源相同(或者合图相同),那么他们的drawcall会被合并。
何为dc
dc,又称draw calls,有些人也叫他dp(原因不明)
所谓的Draw Call其实是CPU发送给GPU的一条渲染mesh的命令。Draw Call的内容就是一个指向欲渲染的mesh的指针(或者id?称呼whatever),一个Draw Call不包括任何材质信息(texture, shader, etc)。
上面提到的材质信息在这里又称渲染状态(render state)。在提交完同一材质信息的所有dc之后,GPU根据当前的材质信息和所有的顶点数据,开始渲染管线的工作。