這似乎是罰款FF5在Windows 7似乎也是順利的IE9。
我認爲問題的一部分可能是您的間隔太小。在速度較慢的設備上,它可以達到每秒66幀,但後來下降到很少,然後回到66幀/秒,產生一個口吃效果。
通過給出一個非常快的間隔,你有效地告訴它跑得儘可能快,它顯然需要屏住呼吸。也許不是,也許還有其他工作。
嘗試使用50ms的間隔,看看會發生什麼。
對於踢腿,而不是使用setInterval,看看是否使用requestAnimFrame可以幫助你解決問題。儘管如此,它可能與快速間隔有相同的問題。
// shim for requestAnimFrame with setTimeout fallback
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback, /* DOMElement */ element){
window.setTimeout(callback, 1000/60);
};
})();
// usage:
// instead of setInterval(render, 16) ....
(function animloop(){
render();
requestAnimFrame(animloop, element);
})();