情况如下:有一个单窗口应用程序(带旋转卷轴的游戏),如果运行应用程序的浏览器选项卡不会失去焦点,则该应用程序运行良好。但有必要最小化浏览器窗口(或切换到另一个选项卡),然后返回,然后应用程序停止。这不会立即发生,而是发生在不同的时间段(从几秒钟到几分钟),以及相同的旋转周期。使用requestAnimationFrame()构建的动画。 如何解决这个问题?
var lastTime = Date.now();
function main() {
var now = Date.now();
var dt = Math.min((now - lastTime), 20) / 1000.0;
update(dt);
render();
lastTime = now;
requestAnimationFrame(main);
}
答案 0 :(得分:1)
问题解决如下:" requestAnimationFrame"取而代之的是" setTimeout",它在web-Worker(https://github.com/turuslan/HackTimer)中运行