我使用createjs.TweenJS在我的画布游戏中缠绕对象。问题是,当我切换选项卡时,补间暂停并在选项卡重新聚焦后继续处理。
我的目标是显示当前时间状态的阶段状态,当选项卡被聚焦回来时。如果换一种说法,当我切换tab时,进程不能暂停,而是在后台运行。
如果我将TweenJS计时模式切换到超时,而不是requestAnimationFrame (RAF),一切都会正常工作。
使用requestAnimationFrame计时模式是否有可能实现相同的结果?
发布于 2015-09-30 23:33:06
这是RAF的一个特性。它具有不确定的频率,并允许浏览器限制甚至完全暂停背景动画,以防止隐藏内容消耗CPU和电池。它是由浏览器管理的,您无法控制它。
如果我没记错的话,有些浏览器(例如Safari)也将在一定程度上限制超时事件。
看看在所有现代浏览器中都可用的页面可见性API,您应该能够跟踪选项卡从隐藏到显示所经过的时间,并做出相应的反应。
https://stackoverflow.com/questions/32866409
复制相似问题