码迷,mamicode.com
首页 > 其他好文 > 详细

性能分析工具Profiler——05内存优化

时间:2015-11-11 11:38:41      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。

内存优化一般来说主要从以下两方面入手:降低资源大小,及时释放不用资源

降低资源大小

要降低资源大小,首先需要分析哪些资源占用较大的比重

1在Build后,打开Console界面,点击界面右上交的下拉菜单

2Open Editor Log打开Editor日志,其中有在整个包中按大小排序的资源列表,它显示了资源的大小以及在安装宝中所占的比例

一般来说,一个3D游戏项目中贴图及UI资源图至少占用50%以上容量,其次就是模型资源、音频资源等,这些资源首先尽量选择合适的压缩格式,并在可接受的范围内适当降低品质

例如一个按钮框素材如果使用1024x1024的尺寸就明显是浪费了,使用256x256的尺寸是更好的选择,而且一定要慎用全屏背景图,这类图每张都会占用非常大的空间

在设计UI时,多考虑UI的复用性,多使用九宫格都是很有帮助的

释放内存中的资源

及时释放内存中的资源是内存优化中非常重要的环节,我们有AssetBundle.Unload、Resources.Unload、GC.Collect等方法可用

其他优化经验

设置目标帧率:通过Application.targetFrameRate设定FPS上限,好处是稳定帧率,减少在高帧率和低帧率间切换造成的不流畅感,这也会减少设备发热和耗电,移动设备上推荐设置为30

音频格式:在游戏中播放时间较长的音乐(如背景音乐)时,建议音频使用OGG或者MP3压缩格式,短促 音效(如枪声,按钮点击音效等)建议采用WAV或者AIF未压缩格式

摄像机:摄像机将远平面设置成合适的距离,远平面过打会将一些不必要的物体加入渲染,降低效率

碰撞:尽量使用立方体或者圆柱体等基本碰撞体,对于复杂的网格模型,请尽量不要使用MeshCollider,而选用基本的立方体或者圆柱体等去拼近似形状

性能分析工具Profiler——05内存优化

标签:

原文地址:http://www.cnblogs.com/kubll/p/4955400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!