Cocos Creator小游戏cocos2dx

Cocos Creator 常用优化技巧汇总

2019-06-03  本文已影响6人  游戏程序猿

今天给大家整理一些cocos creator 常用的一些优化技巧和手段,希望对大家的项目有所帮助。

一: 资源包体大小优化:

      (1)去掉不用的资源,去掉不用的代码模块;

      (2)压缩png图片,在清晰度课接受的范围内让图片的体积更小;

      (3)压缩声音数据,多声道变单声道,降低采样率;

      (4)在需求的允许下降低图片的部分精度,比如,1920x1080的图片---> 960x540;

      (5)特殊的字体,不要直接带字体文件,而是使用美术字来替代, 尽可能不要带字体文件;

二:图集打包:

    我们很多人喜欢用散图,这样,会影响绘制效率,所以一般我们会把散图达成图集,一次装载到显卡, 同时多个物体可以共用一个drawcall来批量完成绘制, 使用图集的时候,注意同时使用的图片放到一起,每个场景都要用的图片放一起。不要把不同时会使用的图片放到图集里面。这样不利于资源卸载

三: 动画优化:

    内存大小优化: 如果动画内存过多,比如帧动画,可以考虑使用骨骼动画来代替帧动画;

    运行性能优化: 大量骨骼动画,可能导致帧率较低,可以考虑在允许的范围内用帧动画替换;

    避免动画中绑定代码: 动画编辑器动画时,尽量不要使用动画事件来调用代码,避免不必要的代码管理麻烦。

四:资源管理:

    (1)不用的资源,在场景切换的时候,如果资源吃紧,可以把他卸载掉;

    (2) 进入到游戏场景之前,将接下来常用的资源,预先加载进来,避免运行中加载出现"长时间卡住”的现象, 场景资源多的,加资源加载过度;

   (3)  对于常用的对象和物体大量的分配与释放,可以考虑 使用节点池来进行缓存;

五:代码优化:

   (1)避免在运行时才生成数据,比如地图数据,路点数据,能离线生成的最好先离线生成出来;

   (2)在update中避免使用 节点查找等,可以考虑用变量在初始化的时候,把常用的节点,组件保存起来;

   (3)每个函数尽可能保持足够的简单, 功能单一;

   (4)能自己编码实现的,尽量少用大型的框架库,比如物理引擎等。能不用就不用;

   (5)复杂的算法,可以考虑预先计算好,用空间换时间;

   (6)代码命名要规范,结构要清晰;

   (7)不要再界面上做过多的代码绑定;

   (8)避免使用生僻的语法,用法,组件等,让代码升级的时候更方便;

   … … 

六:  setting.js 优化

资源放到resources文件夹下,会导致setting.js变大,所以,不用代码加载的资源,千万别放resources文件夹下;

七:运行时内存优化:

     分析内存的占用情况,内存大头一般都是图片资源。

     图片在运行时的内存大小是固定的,和压缩算法没有关系,因为最终要解压出来, 1920x1080大小的图片内存解压开后大约是1920x1080x4(每个像素4字节),

这个内存占用,和你的图片是png,还是jpg关系不大。所以可以估算处大概内存。

     根据运行时候图片的内存情况,删除不用的图片,同时可以考虑降低部分图片的分辨率来降低内存占用。

    运行时后,可能节点越来越多,内存越来越大,也越来越慢,把不用的节点都要删除掉, 检查节点数目,资源等;

… …

未完,敬请关注后续更新和项目实践。

cocos creator资源分享群点击一起交流学习

上一篇下一篇

猜你喜欢

热点阅读