微信小游戏子域刷新性能问题怎么解决?

最近做了一个微信小游戏,里边在超越好友时会显示好友的动画。因为主域和子域的通信问题,主域不知道什么时候会有超越好友的显示,子域的刷新需要不断update。显示的方式使用的是:

    var openDataContext = wx.getOpenDataContext();
    this.sharedCanvas = openDataContext.canvas;

    this.tex.initWithElement(this.sharedCanvas);
    this.tex.handleLoadedTexture();
    this.spriteContent.spriteFrame = new cc.SpriteFrame(this.tex);

其中tex是已经创建的Texture2D。

问题是在update时增加这段逻辑之后帧率掉得比较多,最后定位在this.tex.handleLoadedTexture();这句代码的消耗比较大。不知道有没有什么解决办法可以解决这个问题?

1赞

只能想办法尽量少的update,我现在就延迟一秒去获取一下纹理,能出来东西就出,出不来就拉倒
如果update一直获取的话,我的手机只能跑到大概10帧。。。。

现在我们这边暂时能想到的也只有降低刷新频率,但是子域动画(程序动画或美术动画)效果会比较差。

子域有动画那就不好整了

游戏结束再刷新 游戏中不刷新

游戏中超越好友,游戏结束刷新算怎么回事啊。。。。

超越好友这种得在游戏过程中刷新的,结算一般是显示排名

mark 遇到了同样的问题

还有一个问题。。sharedCanvas默认是全屏的 超越好友提示都是很小的尺寸 导致绘制出来的很模糊 这个怎么解决

你在主域得分了以后去刷一下子域,或者得了几分以后去刷一下子域

请教楼主,超越好友的代码是怎么写的?