page contents

cocos2D-X中如何减少游戏内存的使用

1.最消耗内存的是什么,是纹理(textures)。 一般来说,我们的游戏中纹理消耗了我们80%以上的内存! 所以纹理是我们减少内存的首要目标。 减少纹理对内存压力的方法: 1)避免连续加载PNG...

1.最消耗内存的是什么,是纹理(textures)。

一般来说,我们的游戏中纹理消耗了我们80%以上的内存!

所以纹理是我们减少内存的首要目标。

减少纹理对内存压力的方法:

1)避免连续加载PNG和JPG类型的纹理(至少相隔一帧);

首先cocos2D中纹理的加载分为2个阶段:

第一步,从图片文件中创建一个UIImage对象;

第二步,以这个创建好的UIImage对象来创建CCTexture2D对象。

这就相当于纹理被加载的时候,它会消耗两倍于它本身大小的内存。

2)尽量不使用JPG;

cocos2D-iPhone在加载JPG类型时会实时转换成PNG,即在cocos2D-iPhone中JPG将消耗两倍于它本身大小的内存。

3)按照纹理size大小,从大到小来加载;

4)避免在内存警告的时候清理缓存;

5)尽量少使用全局变量和静态变量;

6)对称型图片可以使用一半来完成加载;

7)检查声音文件的内存使用,并减小声音文件大小;

8)使用场景预加载;

9)减少Tilemap的使用

10)Streaming MP3 Files

mp3文件的播放,首先是加载到内存中,然后解码为未压缩的声音buffer,最后再播放。

CocosDenshion的SimpleAudioEngine的playBackgoundMusic是流式播放mp3文件的。

流试处理有两个优点:1.更小的内存足迹。2.解码mp3文件采用ios硬件,而不是cpu;

11)不要轻易的清楚纹理缓存;

12)纹理资源打包时可以使用Texture Packer进行打包;

  • 发表于 2021-04-23 22:14
  • 阅读 ( 971 )
  • 分类:资源下载

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
文双
文双

NB

71 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章