2011-06-01 77 views
2

我想創建一個使用HTML5畫布和Javascript的動畫。雖然它在谷歌瀏覽器中運行良好,但在Firefox中,這有時會停滯不前。爲什麼我的動畫有時在Firefox中卡住?

現場演示:http://jsfiddle.net/UbTwh/

我想這是性能問題。我以錯誤的方式繪製和清除畫布?

+0

您可能想嘗試'requestAnimationFrame':https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame。 – pimvdb 2011-06-01 20:53:07

+0

你是什麼意思,「卡住了?」它似乎運行良好在Win7的FF4.0對我來說。嘗試註釋掉所有的console.log語句。 – 2011-06-01 20:53:57

+0

對我來說工作得很好,順利,沒有停頓,也沒有任何抖動 - FF4/Ubuntu 11.04 – 2011-06-01 20:56:24

回答

1

對我運行良好;聽起來就像你的機器上的性能相關。你運行什麼樣的規格?如果你的CPU陷入困境或者Firefox正在吃RAM,那麼一切都會隨着穩定性而下降;由於計算機本身的性能問題,我已經看到從DHTML到Flash的所有內容都會凍結並死亡。

如果你只是想提高你的本地機器的性能,我會避免清除每一幀的整個畫面。絕大多數圈子不需要重繪;即使它更容易,調用clear()每一幀都會顯着增加性能成本。另外,這是一個很好的練習。 :)

+0

是的,我可以做到這一點。我在想,沒有嘗試。無論如何推這也。 – AppleGrew 2011-06-01 21:32:22

相關問題