Creator性能优化

性能优化主要这几个方面进行优化:加载优化,渲染优化,内存优化,CPU优化及一些小技巧。

加载优化

图片资源处理:巧用九宫格拉伸来实现资源得复用,如大的纯色背景图,完全可以使用一张小图来进行拉伸获得;

使用图集:图集有3个好处,

  1.减少文件数量,提升加载速度

  2.减少体积

  3.减少DrawCall

压缩:包括图片,纹理,音频文件的压缩,打包成图集之后,需要进行压缩

Prefab加载优化:

  1.合理拆分预制体:

    1)实现最小单元资源复用

    2)预制体越大消耗时长呈指数上升

  2.开启延迟加载资源:勾选这个选项可以减少prefab的加载耗时,但首次显示的耗时会增加。

   因为由于勾选后,prefab所引用的资源,像图片、音效这些,不会在load时加载,而是会在prefab第一次显示的时候再进行资源的加载。因此需要根据具体的使用环境进行选择。

  3.选择优化策略:

    1)自动调整,creator根据加载方式自动调整优化策略,一般选择这个即可

    2)优化单次创建性能,加载时的耗时会减少很多,但实例化时的耗时会增加

    3)优化多次创建性能,实例化时的耗时将会大大减少,相应的,在load时的耗时会有所增加

场景加载优化:

  1.合理使用预置体构成场景,分批异步进行加载

  2.使用加载界面优化用户体验

  3.开启延迟加载资源

资源批量加载优化:使用分帧加载,第三方库async.eachLimit

裁剪引擎模块:这一步通常在游戏上线前,将不需要的模块删除,减少包体大小

渲染优化

渲染优化,主要针对drawcall的优化:

drawcall即CPU调用图形绘制接口的次数;

  1.使用图集,creator自带了自动合集功能,也可以使用其他第三方工具

  2.资源规划,尽量做到相同界面的资源放在相同得文件夹中,通用资源放在通用目录下,有以下好处

    1)方便打包成合集

    2)减少内存占用,方便使用内存

  3.减少使用系统字体,使用BMFont(2.09之后可以使用字体缓存),减少使用描边,mask,富文本

  4.调整渲染顺序:AABCB,这样顺序,改为AABBC顺序,渲染合批就不会被打断

内存优化

静态资源优化:使用场景的自动释放资源

动态资源优化:

  1.设置自动释放资源

    cc.loader.setAutoRelease         //设置自动释放资源

    cc.loader.setAutoReleaseRecursively    //设置该资源及其资源递归引用到的所有资源

    动态资源的释放需要用户自己设置,设置为自动释放资源之后,切换场景后,该动态资源会自动释放

  2.手动释放资源

    cc.loader.getDependsRecursively     //获取prefab所引用的所有资源

    cc.loader.release(this.prefab);      //释放资源

    一般这样使用:

    cc.loader.setAutoRelease(texture2d,false);  //设置为自动释放,保留这份资源不想释放

    let deps = cc.loader.getDependsRecursively('prefabs/sample');

    let index = deps.indexof(texture2d._uuid);

    if(index !== -1)

      deps.splice(index,1);

    cc.loader.release(deps);

  3.使用对象缓存池

CPU优化

cpu优化主要是对代码逻辑进行优化:

  1.数组的push可以改为arr[arr.lenght] = 0;

  2.for效率,可以参考我的这篇文章 https://www.cnblogs.com/kefeiGame/p/8391859.html

  3.不要使用try-catch or try-finally , eval ,arguments

  4.优化算法

杂项

使用谷歌浏览器的Performance定位CPU问题

使用谷歌浏览器的Memory定位内存问题

转载于:https://www.cnblogs.com/kefeiGame/p/10893035.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Cocos Creator中,有一些常见的性能优化方法可以帮助提高游戏的性能: 1. 减少渲染批次:合并相邻节点的渲染批次可以减少绘制调用。可以使用Cocos Creator提供的节点分组功能或者合并节点来减少渲染批次。 2. 使用图集:将游戏中的小图标合并到图集中可以减少纹理切换和内存开销。 3. 控制粒子系统的数量:粒子系统在游戏中可以带来很好的效果,但是过多的粒子会导致性能下降。可以通过控制粒子的数量、生命周期和发射频率来优化性能。 4. 使用连接池:对于频繁创建和销毁的对象,可以使用连接池来重用对象,减少内存分配和垃圾回收的开销。 5. 资源压缩和优化:对游戏中的资源进行压缩和优化,包括图片、音频和视频等。可以使用工具对资源进行压缩,并使用合适的压缩格式和加载策略来提高加载速度和减少内存占用。 6. 避免过多的Update回调:在游戏中,Update回调每帧都会执行,如果有过多的Update回调,会导致性能下降。可以合理使用Update回调,避免不必要的计算和更新。 7. 禁用不需要的物理碰撞检测:如果游戏中不需要物理碰撞检测,可以禁用物理引擎或者禁用不需要进行碰撞检测的节点。 8. 使用合适的碰撞体形状:对于物体的碰撞体,选择合适的形状可以减少碰撞检测的计算量。可以根据物体的形状和特性选择合适的碰撞体形状,比如使用简单的矩形形状代替复杂的多边形形状。 9. 合理使用批量渲染:Cocos Creator提供了批量渲染功能,可以将相邻的节点合并为一个批次进行渲染,减少绘制调用。可以合理使用批量渲染功能来优化性能。 10. 使用性能分析工具:Cocos Creator提供了性能分析工具,可以帮助开发者分析游戏的性能瓶颈,并进行相应的优化。可以使用性能分析工具来定位和解决性能问题。 以上是一些常见的Cocos Creator性能优化方法,根据具体的游戏需求和场景,还可以进行其他针对性的优化。在进行性能优化时,建议先进行性能测试和分析,找出性能瓶颈,并有针对性地进行优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值