cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化

cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化

  • cocos draw call 优化
    • 使用自动图集配置
      • 将图片放入一个文件夹,在这个文件夹新建自动图集配置
    • label节点放一起
      • label节点放在一起做兄弟节点,cocos引擎会自动识别它们将它们合批
  • 内存优化
    • 使用NodePool
      • NodePool官方使用文档
  • 网络优化
    • 使用promise.all进行网络并发请求,运用try...catch...进行网络错误重试,例如请求登录接口的同时,使用promise.all一起请求某个较大的静态资源,如果任何一个结果失败,都是需要catch走异常处理不能进入游戏的。
  • 宽高适配
    • uiAdapter
      • 适用于 cocos creater 2.x,将这个组件挂载到项目根节点Canvas下即可
  • 包体优化
    • 只打包需要的模块,在 项目——>项目——>项目设置——>模块设置 里面配置需要的模块,默认配置会把所有模块全部打包进去
    • 使用tinypng压缩图片

cocos draw call 优化

使用自动图集配置

将图片放入一个文件夹,在这个文件夹新建自动图集配置

cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化_第1张图片

label节点放一起

label节点放在一起做兄弟节点,cocos引擎会自动识别它们将它们合批

cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化_第2张图片

内存优化

使用NodePool

NodePool官方使用文档

使用对象池

网络优化

使用promise.all进行网络并发请求,运用try…catch…进行网络错误重试,例如请求登录接口的同时,使用promise.all一起请求某个较大的静态资源,如果任何一个结果失败,都是需要catch走异常处理不能进入游戏的。

宽高适配

uiAdapter

const { ccclass, property } = cc._decorator;

@ccclass
export default class uiAdapter extends cc.Component {
  onLoad() {
    // 关闭自动进入全屏模式,避免自动横屏
    cc.view.enableAutoFullScreen(false);
    // 关闭多点触摸,提升性能
    cc.macro.ENABLE_MULTI_TOUCH = false;
    let canvas = this.getComponent(cc.Canvas);
    if (canvas) {
      //根据屏幕分辨率修改适配
      const viewRect = cc.view.getViewportRect();
      const curScreeRate = viewRect.width / viewRect.height;
      const designRate = 640 / 960;
      if (curScreeRate > designRate) {
        canvas.fitHeight = true;
        canvas.fitWidth = false;
      } else {
        canvas.fitHeight = false;
        canvas.fitWidth = true;
      }
    }
  }
}

适用于 cocos creater 2.x,将这个组件挂载到项目根节点Canvas下即可

包体优化

只打包需要的模块,在 项目——>项目——>项目设置——>模块设置 里面配置需要的模块,默认配置会把所有模块全部打包进去

cocoscreator 项目设置 模块设置
cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化_第3张图片

使用tinypng压缩图片

tinypng

你可能感兴趣的:(JavaScript,web,cocos2d,游戏引擎,前端,javascript)