[]部分ios机型进入游戏会报一个requestAnimationFrame的错误

基础库版本: iOS 17.2.1
App及版本号: 抖音28.5.0
部分ios机型的部分抖音版本会在进入游戏后报如下错误:
Script error.
[TMG]
Object {
message: "at request AnimationFrame callback err1",
name: "USER_RUNTIME_ERROR",
stack: "construct@[native code] at f(helium.js:4:269) at ?(helium.js:4:865) at ?(helium.js:6:1578) "
}
 
在其他小游戏平台的ios上跑并没有问题,目前只在抖音小游戏ios个别机型上有此现象,抖音的技术人员说这是laya引擎的问题
 
找到报错的代码片段如下:
laya.core.js:
        addBmpData(data, ri) {
            var w = data.width;
            var h = data.height;
            var sz = this.textAtlases.length;
            var atlas;
            var find = false;
            for (var i = 0; i < sz; i++) {
                atlas = this.textAtlases[i];
                find = atlas.getAEmpty(w, h, this.tmpAtlasPos);
                if (find) {
                    break;
                }
            }
            if (!find) {
                atlas = new TextAtlas();
                this.textAtlases.push(atlas);
                find = atlas.getAEmpty(w, h, this.tmpAtlasPos);
                if (!find) {
                    throw 'err1';
                }
                this.cleanAtlases();
            }
            if (find) {
                atlas.texture.addChar(data, this.tmpAtlasPos.x, this.tmpAtlasPos.y, ri.uv);
                ri.tex = atlas.texture;
            }
            return atlas;
        }
有办法知道是什么原因导致的进入这个报错的分支吗
或者有什么相关的说明能知道往回推的这一系列调用方法都是什么作用、可以如何改动吗
比如代码片段里的TextAtlas.getAEmpty,以及调用堆栈里的TextAtlas.atlasgrid.addRect,AtlasGrid._get等方法
(因为这是我们游戏发布在抖音小游戏平台后才能复现的问题,所以无法提供demo)
已邀请:

layaAir小孟

赞同来自:

好的,收到,我帮您反馈一下问题~

Laya_Fred

赞同来自:

您好,这个问题应该是出现在文本图集的处理中,在单个文本绘制的时候会判断文本大图集是否存在位置,根据是否能找到空闲位置再去决定是否添加到图集中或者重新创建图集内容,我这边测试内容为,随机创建英文数字内容并拼接到Text上,滑动滚动Text来查看内容,目前没有复现您的问题,辛苦您提供一下复现时更多的现场信息,或出现问题的模块内容,我们根据信息再去复现此问题。

1675148949用户

赞同来自:

我也遇到了这个问题,请问是怎么解决的

要回复问题请先

商务合作
商务合作