DrawCall是openGL的描绘次数。
一个简单的openGL的绘图次序是:设置颜色→绘图方式→顶点座标→绘制→结束。
每帧都会重复以上的步骤。这就是一次draw call
如果有两个model,那么需要两次draw calls;,分别是:
设置颜色→绘图方式→顶点座标A→绘制→结束。
设置颜色→绘图方式→顶点座标B→绘制→结束。
也就是说在openGl绘制前,如果色彩通道(colorfilter),绘图方式(shader),顶点座标(model)不同的情况下draw calls就会增加。
对openGl来说绘制参数(状态值)的变更要比绘制大量的顶点更耗费cpu。
可以看出使用TextureMerge进行图片合并后,可以大量减少DrawCall的数量,从而大大优化CPU。
图片合并后. 绘制图集内的多个图片,DrawCall 只有1.
不合并去绘制, 绘制1次,DrawCall + 1.