基于Unity3d 引擎的Android游戏优化
2014-06-21 14:12
357 查看
原文地址:http://blog.csdn.net/jixuguo/article/details/9018669
最近项目进入收尾阶段,之前对项目做了很多优化,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,节省电量。
最近项目进入收尾阶段,之前对项目做了很多优化,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,节省电量。
相关文章推荐
- 基于Unity3d 引擎的Android游戏优化
- 各种 基于Unity3d 引擎的Android游戏优化 (drawcall)
- 基于Unity3d 引擎的Android游戏优化
- 基于Unity3d 引擎的Android游戏优化
- 【转】 各种 基于Unity3d 引擎的Android游戏优化 (drawcall)
- 基于Unity3d 引擎的Android游戏优化
- 基于Unity3d 引擎的Android游戏优化
- 基于Unity3d 引擎的Android游戏优化
- 【Android】基于andengine游戏引擎的简单游戏实现(模拟控制器、tiledmap地图)
- Unity3D游戏引擎实现在Android中打开WebView的实例
- 基于Unity3D引擎的Android游戏优化
- Android研究之为基于 x86 的 Android* 游戏选择合适的引擎具体解释
- Android-动画提升-基于游戏引擎libGDX-动画开发
- (结对编程)基于unity3d游戏引擎的魔方游戏
- 为基于 x86 的 Android* 游戏选择合适的引擎
- 基于Unity3D的Android游戏添加google广告的方法——使用AdMob
- 基于cocos2d-x的Android游戏中使用fmod音频引擎
- Android研究之为基于 x86 的 Android* 游戏选择合适的引擎详解
- Unity3D 游戏引擎之IOS Android支持中文与本地文件的读取写入
- 基于unity3d游戏的android版本逆向初探