如何优化内存使用

全部含义优化内存运用

##内存优化规律

优化敷用内存运用,开发人员被期望率先确信最深深地的内存是什么。,答案是身分。!
倾向将占有险乎90%的敷用内存。。到这程度最低的倾向内存运用的适合。,用以表示威胁,敷用很可能鉴于内存不足而分崩离析。。
本文绍介Cocos2d-x游玩流通的两条内存优化规律指挥。

熟人阻碍并找到receive 收执

什么的倾向最耗适合内存?或这些倾向会耗费全部含义内存?自然同样不消手工操作计算,猜猜。
器曾经预备好了。。运用苹果的器,分派 & Leaks”。可以在XCODE中按下run命令。,选择“ Profile 启动这两个器。。列举如下所示:

img56.png

运用分派器可以监督敷用的内存运用限制。,运用走漏器测量部内存走漏。。
再说,少量地信号可以用来获取游玩记得的休息注意到。,列举如下所示:

    CCTextureCache::sharedTextureCache()->dumpCachedTextureInfo();

恳求此信号后,游玩将在调试方式下运转。,此刻,您将在XCODEL把持中国台湾的一任一某一城市留心少量地电视节目的总安排的日记音讯。。

Cocos2d:cocos2d:"cc_fps_images" rc=5 id=3256 x 32 @ 16 bpp => 16 KB
Cocos2d:cocos2d:"XXX/hd/" rc=1059 id=42048 x 2048 @ 32 bpp => 16384 KB
Cocos2d:cocos2d: CCTextureCache dumpDebugInfo:2 textures, for16400 KB (16.02 MB)

你可以从下面留心倾向的决定。、援用计数、ID、每个像素的上胶料和全部含义。最重要的是显示记得的用法。。拿 … 来说,CCSFPSA图像述语耗费16KB的内存。,和耗费16M内存。。

不要过头优化。

这是一任一某一流通的优化必须做的事使用的。。在优化处理中,被期望举行少量地相抵。。由于有时候图像集中的和图像内存运用是存在两级的正式的。永劫不要过头优化。!

##内存优化程度

在此将ccos2d-x内存优化分为三个技艺水平。每个区别都有意见分歧的秩序。,同样战略也一些意见分歧。。

###客户端技艺水平

这是最重要的优化程度。。由于我们的必要在COCOS2D-X引擎的顶级汇编游玩。,火车头在本质上将供应少量地优化选择。。
在同样层面上,我们的可以做出总的的优化。。总之,我们的可以优化倾向。、音频、手迹和粒子内存运用。

  • 率先看倾向优化。,优化倾向内存运用,我们的必须做的事确信哪些要素对倾向内存运用的产生影响最大。。产生影响倾向记得的主要要素有3个。,倾向体式(紧缩或非紧缩)、色吃水和上胶料。我们的可以运用PVR体式倾向来缩减内存运用。。倾向体式是可取之处的。。倾向所运用的每种色的位数更多。,图像集中的越好。,又记得本钱高高的。。到这程度,我们的可以用RGB44 44的色吃水掉换RGB88 88的倾向。,这将缩减内存耗费一半的。。再说极大的的倾向也会实现内存相干成绩。因而最好运用主持上胶料的倾向。。
  • 音频优化,3个要素产生影响音频文件的内存运用。,音频文件数据体式、数元率和抽样率。MP3数据体式音频文件的可取之处运用,由于Android平台和iOS平台维持MP3体式。,再说,MP3体式被紧缩和硬件加速。。背景音乐文件上胶料应少于800 KB,最复杂的办法是缩减背景音乐时期和反复发送传递信号。。音频文件的抽样率约为96128kbp.,44每秒千周的数元率就十足了。。
  • 手迹与粒子优化,喂有两个心情。:当运用BM手迹手迹显示游玩分时,请放量少用单词。。拿 … 来说,只希望的东西显示单位数。,你可以使死亡所有些人字母。。竟至粒子,可以经过缩减粒子的全部含义来缩减记得。。

###引擎技艺水平

免得你责备OpenGLE和游玩引擎的主人,,你可以成穹状这嫁妆。。由于COCOS2D-X是一任一某一开源游玩引擎。,免得您曾经优化了引擎区别,,请注意到我们的。!
任何一个改善和信号都是深受欢迎的。。

C 讨论层

在同样技艺水平,提议不要写内存走漏信号。。依照COCOS2D-X的内置内存经管基本的,放量防止内存走漏。。

##心情和技艺

  1. 在帧和帧中重读游玩资源
  2. 缩减基址图恳求,运用“CCSpriteBatchNode”
  3. 当重读倾向时,依照从大到小的按次。
  4. 防止运用内存峰值
  5. 用重读的银幕预重读游玩资源
  6. 在必要时履行免费地资源
  7. 在收执到内存正告后履行缓存资源。
  8. 使用倾向打包器优化倾向上胶料、体式、色吃水等。
  9. 运用JPG体式要仔细的。!
  10. 请运用RGB44 44深色16位倾向。
  11. 请运用NPOT倾向。,不要运用锅倾向。
  12. 防止重读极大的倾向
  13. 可取之处1024*1024 NPOT 倾向集,不要生吃。 PNG结构

##可取之处发现

Steffen Itterheim”s cocos2d memory optimization tutorialsApple”s developer guide for reducing memory usage

发表评论

电子邮件地址不会被公开。 必填项已用*标注