哪一個最適合畫布動畫? requestAnimFrame或setInterval?用於canvas動畫的requestAnimFrame或setInterval?
2
A
回答
5
保證您的動畫在瀏覽器準備繪製新框架時正好運行。如果你使用setInterval
,您運行的任何風險:
- 使得間隔過短,在這種情況下,你消耗電池壽命表演永遠不會被顯示
- 過於頻繁的平局操作使得時間間隔過長在這種情況下,你可以使用更短的間隔
可調速以更低的頻率運行時,該頁面是不可見的(可節省電池壽命)已經獲得了平滑的動畫,但setInterval
一些實現這樣做(目前在Firefox和Chrome中)。
是從零開始構建的,意圖用於動畫; setInterval
旨在做任何需要定期行動的事情。如果你正在做動畫(尤其是畫布動畫),我會建議使用,舊版瀏覽器可以回退到setInterval
。
-1
但是你可以在一個大的函數中使用的setInterval調用即加載並調用它,只有當窗口負載:
function load()
{
var intervalle = x;
var game= setInterval(process,intervalle);
...
}
window.addEventListener("load",load,true);
+2
-1:這個問題如何回答?是的,你當然可以使用'setInterval'作爲動畫,但這個答案並不能解釋爲什麼'setInterval'或'requestAnimationFrame'更好。 – apsillers
相關問題
- 1. jquery setInterval或動畫與easing
- 2. 不同速度的動畫requestAnimFrame javascript
- 3. 使用Canvas動畫
- 4. setInterval動畫
- 5. html5 canvas中基於路徑的動畫
- 6. javascript canvas動畫
- 7. jQuery動畫與setInterval()
- 8. 動畫畫布使用循環和setInterval
- 9. 如何使用setInterval動畫畫布
- 10. Ch canvas畫布動畫 - EaselJS
- 11. css sprite動畫的setInterval
- 12. myDoughnut動畫上的setInterval
- 13. Android上的Html5 canvas動畫
- 14. 的setInterval ... ... requestAnimFrame工作requestAnimationFrame..nothing在Safari哎呀
- 15. 開啓/關閉setInterval動畫
- 16. 橫向動畫和setInterval()
- 17. 使用HTML5 canvas或CSS3動畫演示應用程序快照
- 18. 的jQuery的setInterval或滾動
- 19. HTML5 Canvas基本線動畫
- 20. Canvas圖像動畫(Crossfade)
- 21. html canvas動畫閃爍
- 22. 多個HTML5 canvas動畫
- 23. HTML5 Canvas動畫效果
- 24. JavaFX Canvas高效動畫
- 25. JS/Canvas單行動畫
- 26. 動畫不斷onMouseover使用setInterval
- 27. 用於HTML5瀏覽器的SVG或Canvas?
- 28. JavaScript動畫WITHOUT jQuery的/的setTimeout/setInterval的
- 29. 使用HTML5 canvas生成動畫GIF
- 30. 使用SetTimeout進行JavaScript Canvas動畫()
'setInterval'是大規模更快。 http://jsperf.com/requestanimationframe –
http://jsperf.com/requestanimationframe/3,http://jsperf.com/requestanimationframe/5 – bfavaretto
'requestAnimFrame'是*專用於動畫*。 'setInterval'可能只能用作後備。 – Bergi