使用requestAnimationFrame的TweenJS暂停选项卡切换

时间:2015-09-30 12:41:50

标签: canvas createjs tween requestanimationframe tween.js

我使用createjs.TweenJS在我的画布游戏中缠绕对象。问题是当我切换标签时,Tween会暂停并在标签重新聚焦后继续处理。

我的目标是显示当前时间状态的阶段状态,当标签重新聚焦时。如果以不同的方式说出来,当我切换标签时,进程不能暂停,而是在后台运行。

如果我将TweenJS计时模式切换为TIMEOUT而不是requestAnimationFrame(RAF),那么一切都运行良好。

使用requestAnimationFrame计时模式是否可以实现相同的结果?

1 个答案:

答案 0 :(得分:2)

这是英国皇家空军的特色之一。它具有不确定的频率,并允许浏览器限制甚至完全暂停背景动画,以防止隐藏的内容烧毁CPU和电池。它由浏览器管理,您无法控制它。

如果我没记错的话,某些浏览器(例如Safari)也会在某种程度上限制超时事件。

查看所有现代浏览器中提供的页面可见性API,您应该能够跟踪隐藏选项卡到显示选项卡之间所经过的时间,并做出相应的反应。