NGUI相关注意事项

来源:互联网 发布:ipad怎么上淘宝卖家版 编辑:程序博客网 时间:2024/06/14 20:48
1.  贴图为正方形。
2.  图集分为 common图集 大小在 1024 * 1024 战斗图集 一个大逻辑一张图集 保证打开一个UI时 图集数在3个以下。
3. UI上绑定的特效,模型等不要放入prefab中。在代码中异步加载,防止UI响应过慢。
4. UI上深度规划好。每一个材质一段深度,最好不要出现drawcall深度插断的情况。
5. NGUI的重建mesh代码需要优化。思想是每个widget记录自己在VBO中顶点的起始index和终止index。当widget发生改变时,只需更改widget自身的顶点信息,不需重建整个drawcall的mesh数据。
6. 当需要对某个物体进行显隐时,通过更改alpha值来实现。防止drawcall的重建,需要去掉NGUI对alpha的优化(当小于0.001的时候,默认为active=false) 但是对于全屏片可以忽略。因为overdraw对低端机带来的影响太大。
7. NGUI有很多 getComponet的地方,会产生大量GC。可通过Profiler 进行更改。例如 anchor,UICamera。
8. label的setText,Sprite的Fill都无法优化,只能重建Drawcall。但是重建某个小UI的drawcall性能损耗不大,只要别大UI重建drawcall就好。
9. UI的缓存可以通过移动transform来实现,而不是setActive.
10. UI尽量不要用mono的回调函数。用自己框架的回调函数。因为做缓存的时候 OnEnable,OnDisabel有的时候很恶心。
11. NGUI对drawcall对象做了池子,但是重用会存在小UI被大UI的VBO撑大。主要是 betterList 重置只是更改index而不是真正的清空。所以切场景的时候清空drawcall。
12. 业务逻辑不要写在Awake里。
13. UI必须达到秒开水平。 
0 0
原创粉丝点击