2.3.4 android平台drawcall高于web平台

  • Creator 版本:2.3.4

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:

游戏里面label使用了cache mode里面的bitmap和char模式,web平台峰值150drawcall Android平台500左右

在小游戏和原生平台上默认会禁用动态合图,但如果你的项目内存空间仍有富余的话建议开启。

若希望强制开启动态合图,请在代码中加入:

cc.macro.CLEANUP_IMAGE_CACHE = false;
cc.dynamicAtlasManager.enabled = true;

1赞

这两句话应该在哪加,是在js里面加还是在onload里面加呢?


https://docs.cocos.com/creator/manual/zh/advanced-topics/dynamic-atlas.html?h=动态合图

我看了这个文档,现在的诡异情况是,我弄了个game.js,写了两句话,cc.macro.CLEANUP_IMAGE_CACHE = false;
cc.dynamicAtlasManager.enabled = false;然后在编辑器里面导入成插件,运行到首场景的时候,我打印这个cc.dynamicAtlasManager.enabled,结果为true了,所以我也迷糊了,难道这样操作流程有错误?

你如果弄成插件,你改成这样子试试。

cc.game.once(cc.Game.EVENT_ENGINE_INITED, () => {
        cc.macro.CLEANUP_IMAGE_CACHE = false;
        cc.dynamicAtlasManager.enabled = false;  
});
1赞

这么写就生效了,多谢