环境:
引擎版本4.0.3
原因是tween、timer等使用的心跳计时器starttick,都是用canvas的刷新,在浏览器置于后台时,canvas休眠不刷新。
所以需要改为系统时间计时。
1 找到引擎源码目录
我这里是C:\Users\Administrator\AppData\Roaming\Egret\engine\4.0.3
2 wing打开源码,找到EgreWeb.ts
3 注释掉canvas的刷新。使用系统时间刷新。
找到 egret.web.js,同样注释掉canvas刷新
测试下效果
1. 编译一次你使用4.0.3引擎的项目,并找到
libs/modules/egret/egret.web.js 看看修改是否生效
2 新建一个计时器,timer,每秒输出一次console.log(1)
当浏览器置于后台时,timer依然生效,持续输出1
弊端: