博毅创为Alan老师

导航

Cocos Creator 常用优化技巧汇总

今天给大家整理一些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关系不大。所以可以估算处大概内存。

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

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

… …

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

posted on 2021-09-06 09:30  游戏开发阿博  阅读(208)  评论(0编辑  收藏  举报