HTML 5画布导致浏览器在切换标签时滞后

时间:2013-11-18 21:24:18

标签: javascript html html5 html5-canvas

这是我目前的代码: http://animus.site44.com/ (按左上角的蓝色按钮)

它不会一直发生,但每隔一段时间(通常在收听pandora.com时),代码会在切换标签时冻结浏览器。它只持续一两秒,但非常烦人。当没有横过标签时,代码往往非常流畅。

我知道仅使用画布制作网站有点奇怪,但我想知道是否有可能使这段代码无滞后地工作。

2 个答案:

答案 0 :(得分:0)

奇怪的是滞后是由于requestAnimationFrame()引起的。我为setInterval()切换了requestAnimationFrame,并完全删除了滞后。我猜这是因为我将帧率降低到30(setInterval(draw,1000/30);)并且它不必画得那么快。

答案 1 :(得分:0)

建议使用requestAnimationFrame,因为它更整洁:当前浏览器被选中时,requestAnimationFrame会关闭。也许这与滞后有关?如果调用clearInterval或关闭浏览器,setInterval将仅停止调用update方法。目前我在我的浏览器中打开了9个窗口,如果其中一半使用了setInterval,我的电脑就会感觉到它。

链接已更改,因此我无法重现延迟问题。