纳金网

标题: 基于Unity3d 引擎的Android游戏优化 [打印本页]

作者: 狂风大尉    时间: 2014-7-31 02:13
标题: 基于Unity3d 引擎的Android游戏优化

       最近项目进入收尾阶段,之前对项目做了很多优化,mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,在IOS上还好,但是Android上,试过几款手机,从低端到高端,发现性能还是很差,所以又花了几天来研究摸索,终于把游戏性能搞定。记录下来,留作以后参考。


1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩格式,但他们都兼容ETC格式,

2. 对于透明贴图,我们只能选择RGBA 16bit 或者RGBA 32bit。


3. 减少FPS,在ProjectSetting-> Quality中的VSync Count 参数会影响你的FPS,EveryVBlank相当于FPS=60,EverySecondVBlank = 30;


        这两种情况都不符合游戏的FPS的话,我们需要手动调整FPS,首先关闭垂直同步这个功能,然后在代码的Awake方法里手动设置        FPS(Application.targetFrameRate = 45;)
           降低FPS的好处:
                 1)省电,减少手机发热的情况;
                 2)能都稳定游戏FPS,减少出现卡顿的情况。


4. 当我们设置了FPS后,再调整下Fixed timestep这个参数,这个参数在ProjectSetting->Time中,目的是减少物理计算的次数,来提高游戏性能。


5. 尽量少使用Update LateUpdate FixedUpdate,这样也可以提升性能和节省电量。多使用事件(不是SendMessage,使用自己写的,或者C#中的事件委托)。


6. 待机时,调整游戏的FPS为1,节省电量。


---------------------------------------------------------------------------

原文链接:http://blog.csdn.net/jixuguo/article/details/9018669



作者: Kadina    时间: 2014-7-31 07:17
thank you for sharing
作者: HIDEOKOJIMA    时间: 2014-7-31 08:45
Thanks for sharing this !
作者: 我不再年轻    时间: 2014-7-31 10:59
学习了, 多谢分享
作者: hyui    时间: 2014-7-31 19:13

Thanks for sharing this !
作者: Kadina    时间: 2014-8-2 07:07
谢谢楼主分享!
作者: 大大虾    时间: 2014-8-2 12:21
感谢分享经验!~




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5