Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
2014-03-04 09:59
806 查看
http://blog.csdn.net/zjc_game_coder/article/details/19994709
有几篇好的博文,关于Unity安卓游戏的优化方案,和大家分享下!
最近项目进入收尾阶段,之前对项目做了很多优化,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://hi.baidu.com/tinggu_android/item/6ad1725ddff20b908c12ed56
误区1:性能优化只是程序员的责任,与美术和策划无关。
-技术美术和关卡设计师对于游戏性能承担着非常重要的责任
-程序员往往无法补救由于滥用美术资源而造成的性能问题
误区2:在制定了严格的美术规范之后,美术师就应该对一切美术问题负责,程序员不再与此有关
-程序员应该为美术师实现完整的美术资源合法性检查工具
-Tools speak louder than rules!
误区3:对于程序而言,性能优化应该从GPU/Shader的执行效率入手
-针对CPU端/游戏逻辑的性能优化往往能够取得更大的作用
-GPU/Shader的性能优化应该放在最后进行
原文链接:http://cl314413.blog.163.com/blog/static/190507976201292453413286/
这里推荐使用一个优化工具BulidReqort
上面会显示很详细的资源所占大小
下面说说对于一些资源的优化
图片:
JPG图片
一般采用自动压缩要是大小还不满足要求那么就把纹理max size 设置小一些;
png图片:
一般不是要求特别高清的可以使用rgba 16这个完全满足要求 比rgba32小一般 内存开销也是小一半的
音乐:
音乐一般采用修改采样率的办法来压缩 修改采样率为128就够了
然后作为 2d游戏吧所有音乐都改为单声道小一半
模型的话一半都是图片比较大把图片按照上面的改下就好
场景参考这个可能能小一些http://www.xuanyusong.com/archives/1919
最后附上一个修改unity导入后图片格式的代码
音乐也可以用上面的代码处理 需要把脚本放在Editor文件夹下。
来源:http://unity3d.9tech.cn/news/2013/1216/39206.html
还有一个是圣典上的,贴出地址:http://game.ceeger.com/search.phpkeyboard=%E6%89%8B%E6%9C%BA%E4%BC%98%E5%8C%96
大家感兴趣可以看看!
有几篇好的博文,关于Unity安卓游戏的优化方案,和大家分享下!
基于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://hi.baidu.com/tinggu_android/item/6ad1725ddff20b908c12ed56
误区1:性能优化只是程序员的责任,与美术和策划无关。
-技术美术和关卡设计师对于游戏性能承担着非常重要的责任
-程序员往往无法补救由于滥用美术资源而造成的性能问题
误区2:在制定了严格的美术规范之后,美术师就应该对一切美术问题负责,程序员不再与此有关
-程序员应该为美术师实现完整的美术资源合法性检查工具
-Tools speak louder than rules!
误区3:对于程序而言,性能优化应该从GPU/Shader的执行效率入手
-针对CPU端/游戏逻辑的性能优化往往能够取得更大的作用
-GPU/Shader的性能优化应该放在最后进行
原文链接:http://cl314413.blog.163.com/blog/static/190507976201292453413286/
这里推荐使用一个优化工具BulidReqort
上面会显示很详细的资源所占大小
下面说说对于一些资源的优化
图片:
JPG图片
一般采用自动压缩要是大小还不满足要求那么就把纹理max size 设置小一些;
png图片:
一般不是要求特别高清的可以使用rgba 16这个完全满足要求 比rgba32小一般 内存开销也是小一半的
音乐:
音乐一般采用修改采样率的办法来压缩 修改采样率为128就够了
然后作为 2d游戏吧所有音乐都改为单声道小一半
模型的话一半都是图片比较大把图片按照上面的改下就好
场景参考这个可能能小一些http://www.xuanyusong.com/archives/1919
最后附上一个修改unity导入后图片格式的代码
来源:http://unity3d.9tech.cn/news/2013/1216/39206.html
还有一个是圣典上的,贴出地址:http://game.ceeger.com/search.phpkeyboard=%E6%89%8B%E6%9C%BA%E4%BC%98%E5%8C%96
大家感兴趣可以看看!
相关文章推荐
- Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
- 使用Unity开发安卓游戏怎么进行性能优化?
- 【小松教你手游开发】【unity实用技能】unity安卓游戏优化ETC压缩及Alpha通道处理
- Unity中国技术总监刘钢:如何优化基于Unity开发的3D移动游戏
- 【小松教你手游开发】【unity实用技能】unity安卓游戏优化ETC压缩及Alpha通道处理
- Unity安卓游戏开发优化
- 基于Metronic的Bootstrap开发框架经验总结(10)--优化Bootstrap图标管理
- 【Unity游戏开发之十一】基于NGUI的表情图文混排解决方案
- Unity开发安卓游戏:1.实现移动设备屏幕自适应
- Unity游戏开发图片纹理压缩方案
- 基于J2ME的游戏开发总结和感想 推荐
- 总结使用Unity 3D优化游戏运行性能的经验
- 基于Metronic的Bootstrap开发框架经验总结(6)--对话框及提示框的处理和优化
- [转]总结使用Unity 3D优化游戏运行性能的经验
- 前端开发页面的性能优化方案总结
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十三)关于ListView的优化总结
- unity基础开发----切换场景、游戏视图(Game View)、iphone优化
- 总结使用Unity 3D优化游戏运行性能的经验
- Unity开发IOS游戏的优化建议
- 【Unity3d游戏开发】浅谈Unity中的GC以及优化