版本号2.4.3
测试端:QQ浏览器(其他的浏览器没试出来,目测有部分h5游戏平台也是这样,有客服反馈过)
BUG描述:
在PC上使用QQ浏览器测试的
游戏中频繁使浏览器最小化再最大化,游戏画面就卡死不动了,声音还能听到,游戏逻辑都正常在执行
也没有任何报错,比如log能打印出单位在update里坐标从a点走到了b点,但是游戏画面整个完全静止
cc.game.pause或者resume之类的都试了,没有用的,游戏逻辑一直都是正常在执行,只是画面静止
这个时候如果打开或者关闭F12、的话,画面就刷新正常了
除了F12,还有测试时候点击上面顶部机型选择、debug mode、showfps、pause等等按钮也能恢复,其他还没找到能恢复正常的方法。。。
复现demo:testBug.zip (230.5 KB)
复现方法:
对游戏进行锁帧,然后提高每帧的消耗,frameTime越大,越容易出现!再前后台来回切就行了
具体实现:在场景里新建个sprite节点,再建个脚本拖进去,运行后随机地最小化/最大化QQ浏览器就出现节点不动了,但看log输出是一直有在动的
记得使用
QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器
QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器QQ浏览器
脚本代码如下:
start () {
this.l=0;
this.s=1;
this.node.x=-375;
//锁帧
cc.game.setFrameRate(61);
},
update (dt) {
//来回移动
this.node.x+=this.s;
if(++this.l>=750){
this.s*=-1;
this.l=0;
}
//随便做点大消耗的事情
let a=0;
for(let i=0;i<20000000;i++){
a+=Math.pow(1.0012312342,10000)
}
cc.log(this.node.x,this.l);
}

