在日常游戏开发中,UI是不可缺少的模块,而在UI中又使用着大量的图片,特别是2D游戏还有很多精灵图片存在,如果不加以处理,会导致很高的Batches,影响性能。
比如如下的例子:
Batches是9,在FrameDebug中显示如下:
将UI和2D精灵图片分别合并为一个图集如下:
运行后:只有3个批次
FrameDebug中显示如下:
注:
生成的图集中这三个选项的作用如下:
Allow Rotation(允许旋转),如果没有旋转的需求可以不勾选。
Use Crunch Compression(压缩),如果需要压缩节省空间可以勾选并选择压缩率。
Tight Packing(图集是否紧密生成),如果有需要可以勾选(在UI部分效果不明显,在精灵图片中使用明显,可以显著减小图集大小)。效果如下:
参考链接:
2D Batches Optimization using Sprite Atlas (youtube.com)
Unity Optimize UI - Reduce your Draw Calls Improve your performance in 10 MINUTES! (youtube.com)