1.从CPU、GPU和内存三方面进行优化:http://www.cnblogs.com/murongxiaopifu/p/4284988.html#top
2.UGUI的优化:http://www.jianshu.com/p/061e67308e5f
3.纹理压缩与OpenGL ES:http://blog.csdn.net/asd237241291/article/details/48548557
使用平台推荐的压缩格式,比如安卓平台的ETC1和IOS平台的PVRTC
4.在UGUI中,如果UI发生重叠(即使只是重叠一部分,即使重叠的两个UI都是一样的),那么dc可能会增加!另外,文字也是占dc的!
Profiler:
1.VSync(垂直同步):http://blog.csdn.net/yesy10/article/details/7794556
2.手动开启对代码的分析
using UnityEngine; using System.Collections; public class ProfilerExample : MonoBehaviour { private int sum = 0; void Start() { Profiler.BeginSample("MyProfiler"); for (int i = 0; i < 3; i++) { sum += i; print(sum); } Profiler.EndSample(); } }
这里Total和Self状态栏中的百分比均是指占用cpu的时间百分比。
1.以ProfilerExample.Start()为例,从Total状态栏可以看出有24.4%的时间花费在该函数中,它包括了调用子函数的过程(方法内调用另一个函数),实际上排除调用子函数所花费的时间,真正花费在它自身的时间只有0.5%(Self状态栏)。
2.以MyProfiler为例,即BeginSample和EndSample之间的,占cpu23.8%的时间,23.8加上0.5要小于24.4,估计是其他方面的消耗。
3.以第一个LogStringToConsole为例,有(11.3-4.2)%的时间用于print函数内部的花费;而第二三个print的花费时间明显小于第一个,显然是MonoBehaviour内部的优化。。从中也不难得出for循环的消耗确实是很小的。。