Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88776

Label的CacheMode导致动态合批纹理不断增加

$
0
0

@ctxdecoco 写道:

  • Creator 版本:2.2.2

  • 目标平台: Web

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

  • 重现方式:新建空项目,Label的CacheMode设置为Bitmap,频繁创建删除Label,使用TTF字体文件,Label内容不变,开启动态合批debug,cc.dynamicAtlasManager.showDebug(true);会看到很多重复的Label纹理

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

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

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

  • 出现概率:100%

  • 额外线索:
    label设置

    合批debug显示

发现TTAssembler只会在更新内容时才会尝试删除SpriteFrame,调用deleteFromDynamicAtlas

TTFAssembler.prototype._calDynamicAtlas = function _calDynamicAtlas(comp) {
if (comp.cacheMode !== Label.CacheMode.BITMAP) return;
var frame = comp._frame;
deleteFromDynamicAtlas(comp, frame);
frame._original || frame.setRect(cc.rect(0, 0, _canvas.width, _canvas.height));
this.packToDynamicAtlas(comp, frame);
};

帖子: 1

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88776

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>