收藏
评论

白鹭引擎游戏针对v2.32.1基础库资源加载慢临时解决方案指引官方

基础库v2.32.1发布之后,有部分游戏反馈图片加载变慢很多,经排查是触发了安卓底层setTimeout的时序问题,该问题需要基础库发版本修复,由于涉及到底层改动,灰度节奏会相对慢,遇到问题的游戏建议手动修复下。

目前反馈的游戏主要是白鹭引擎的游戏,游戏方可尝试将资源加载回调的setTimeout去掉来修复,参照下图:

非白鹭引擎遇到类似问题可以排查是不是有不必要的setTimeout逻辑。

如有问题,可以联系我们的小游戏助手一同排查。

5243浏览
收藏

5 个评论

  • 邓明立
    邓明立
    2023-07-04

    不知道是不是版本问题。5.3.7版本,小程序的项目里,有个egret.wxgame.js的,如果没有在game.js中调用

    if (window.RES && RES.processor) {
      require('./library/image.js');
      require('./library/text.js');
      require('./library/sound.js');
      require('./library/binary.js');
    }
    

    那么,走的是egret.wxgame.js里面重新写的WebImageLoader,这里面也有个settimeout,和官方所记录的差不多,但修改了没效果。。加载还是慢,然后添加上述代码,图片加载使用image.js了,这里的主要代码是

    function loadImage(imageURL, scale9grid{
        // console.warn("loadImage",imageURL)
        return new Promise((resolve, reject) => {
            const image = wx.createImage();
            var startLoadTime = Date.now()
            image.onload = () => {
                let passTime = Date.now() - startLoadTime
                if (passTime > 1000) {
                    console.warn("loadImage", passTime, imageURL)
                }
                const bitmapdata = new egret.BitmapData(image);
                const texture = new egret.Texture();
                texture._setBitmapData(bitmapdata);
                if (scale9grid) {
                    texture["scale9Grid"] = scale9grid;
                }
                if (systemInfo == null) {
                    systemInfo = wx.getSystemInfoSync();
                }
                if (systemInfo.platform == "ios") {
                    setTimeout(() => {
                        resolve(texture);
                    }, 0);
                } else {
                    resolve(texture);
                }
            }
            image.onerror = (e) => {
                // console.error(e);
                const error = new RES.ResourceManagerError(1001, imageURL);
                reject(error);
            }
            image.src = imageURL;
        })
    }
    


    发现,资源加载慢的时候,这里的耗时会比较长,android上集中在1800ms-5000ms,开发工具是1200ms-1500ms,也是比较慢了,表现显得特别卡顿

    ps(基础库2.32.3)

    没辙了。。。。

    2023-07-04
    赞同
    回复 1
    • 袁梓民
      袁梓民
      2023-07-05
      引擎内部也有加载器,这里只是小游戏的适配层,看看引擎内部的是不是改漏了?
      2023-07-05
      回复
  • D·stroke
    D·stroke
    发表于移动端
    2023-06-25
    这个开发平台是什么?
    2023-06-25
    赞同
    回复
  • 夏天
    夏天
    2023-06-12

    cocos有解决方案不

    2023-06-12
    赞同
    回复 2
    • 袁梓民
      袁梓民
      2023-06-12
      cocos游戏没接收到类似的反馈。
      2023-06-12
      回复
    • 夏天
      夏天
      2023-06-13回复袁梓民
      我们游戏是cocos creator 2.4.4版本开发的,有不少玩家反馈加载资源变慢
      2023-06-13
      2
      回复
  • 玛卡巴卡
    玛卡巴卡
    2023-06-09

    感谢官方大大,已解决

    2023-06-09
    赞同
    回复
  • 青寒
    青寒
    2023-06-09

    记录一下。

    2023-06-09
    赞同
    回复
登录 后发表内容