一、UI元素的 batch
batch字面意思即是“一批”、“分批处理”的意思,即把符合条件的UI元素打包成一批让GPU一次性的把他们绘制出来, 这大体可以理解为在1个drawcall内绘制完这批UI元素,这样肯定会比一个一个的让GPU分别绘制效率要低的多。所以在unity p的profile或status中看到的batch的数目越少越好(假如一帧内有100个UI元素,分成50个批次让GPU去绘制肯定要比分成80 个 批次绘制性能好,相当于drawcall少了,当然好了)。那么符合什么条件的UI元素会被打入同一个batch呢?答案就是要符合下面几个条件:
1、在同一个canvas下。假如有10个canvas,那么肯定至少会有10个batch。
2、使用同一个材质,道理显而易见,绘制的方法都不一样怎么能打成一批去一次性绘制呢?
3、用到的texture在同一个sprite资源上,可以简单理解为在同一图集上。
4、他们的Rect