正在写一个游戏。由于2D且比较简单。打算用NGUI全权搞定,对,游戏内容也用NGUI。
想的很好,做的很爽。PC上跑起来happy。
天杀的诺基亚出了个手机叫lumia520,可用内存512M。单个程序可申请最大内存微软标明180M,详见:http://msdn.microsoft.com/library/windows/apps/jj681682(v=vs.105).aspx
游戏在其上跑起来会崩溃?哦不,你错了,没有崩溃。
而是:有些资源不能加载!更直白些就是有些图片不给你显示!本来一个绚丽的背景变成灰糊糊的一块。
经过分析,发现不能显示的图片来自比较大的图集(如2048 *2048)等等。毫无疑问是申请不到足够的内存,NGUI或Unity善良地保证了程序不会崩溃。。。
为此我做了很多调整。并最终较为完美运行于lumia520上。
做出的优化主要是(也是一些愚见)
1.调整图集大小。尽量控制在512*512以内。千万别超过1024*1024。
2.UI用NGUI制作的图集,游戏内容方面建议还是Native 2D的Sprite为好。
3.用两Camera来讲游戏内容和UI区别开来。
4.NGUI很方便,但有时很蛋疼。如果动画,尽量别用它的 Sprite Animation,不可自由缩放精灵,相比之下原生2D修改属性就舒服多了。