学习笔记——Unity3D UGUI优化方法总结

客户端做任何的性能优化首先想到的都是规范美术资源,前期不给美术资源定制一定的规范,后期做优化性能会非常的被动。对于 UI 资源的规范,主要是考虑的内存优化。

1. UI 图集大小控制在1024*1024以内(内存优化);

2.同一个界面出现的 UI 资源尽量放到一个图集,重复利用的公用资源放common(DrawCall 优化);

3.能用九宫格的尽量用九宫格来减小原图大小(内存优化);

4.美术给的图长宽尽量为2的幂次方,如果不是就稍微多切一点,配合ECT1和PVRTC4 格式的压缩(内存优化);

5.不透明图片保存为JPG格式,透明图片保存为PNG格式;

6.美术给过来的 UI 原图 size 尽量小,对于一些全屏的原画图,原画大小是 1136*640,让美术按照比例高度缩小到 500,这样一张 1024*1024 的图集就可以放两张原图了,提升图集利用率。对于一些600*400 类似大小的原图,就尽量按比例把最长边压小到 500,这样出来的图集就是 512*512 而不是 1024*1024(内存优化);

7.对于特别长的 UI 原图,例如 1000*100,如果由于加入这个长条的原图导致图集大小变大而且利用率很低的话,要把 1000*100 的原图拆分成两张图500*100,在制作界面的时候用两个 Image 拼接即可,这样可以把 1024 的图集缩小到 512(内存优化);   

8.图集利用率低于 1/3 的时候,要考虑和其他同一个 size 的图集合并以提升利用率。合并的原则是不改变任何一个图集的大小,这样即可完全省掉一张图集(内存优化、安装包量优化);

9.尽量复用 UI 资源,减少不必要的原图,例如一个卡牌分了五种品质原画底图,白蓝黄绿紫,就不要使用五张大底图了,让美术同事画一个灰色原图,Image 在使用的时候直接按需求修改顶点色即可(内存优化);

10.关闭 Mipmap,压缩贴图与图集,参考上篇文章(内存优化)

11.文本(Text)组件对移动设备的性能要求比较高,不需要Rich Text和Best Fit功能的文本组件要取消勾选;

Text组件详解:https://blog.csdn.net/qq_26999509/article/details/53391808

13.如果取消FillCenter的勾选不影响图片的表现,就取消勾选,对于一些透明的边框背景图,其中间区域理论上是不必去绘制的,虽然设置成了透明,不被人们看见,但计算机还是进行了绘制,因此应该将这一部分性能消耗规避掉;

14.OverDraw指的就是一个像素被绘制了多次,当UI出现重叠时,会影响空间拓扑关系,从而影响了Unity对DrawCall的优化,,尽可能在不影响功能和美观的情况下减少UI的层级。 

15.持续更新中

猜你喜欢

转载自blog.csdn.net/qq_39824797/article/details/84668905