我使用processing.js
在canvas
上繪製某些形狀。Processing.js提高繪製性能
如果我繪製超過100-200個不斷在畫布上移動的圓圈,FPS會顯着下降。如果我移除繪圖,FPS將回到60,所以其他任務不會影響FPS。
fill(mR,mG,mB);
ellipse(mX,mY,mRadius,mRadius);
我知道,比如,對於複雜的形狀,你可以吸引他們到內存中其他畫布對其進行緩存,然後簡單地繪製油畫到主之一。
有什麼辦法可以改善這種繪圖性能嗎?
一些鏈接,可以幫助:
http://www.html5rocks.com/en/tutorials/canvas/performance/
http://ramkulkarni.com/blog/improving-animation-performance-in-html5-canvas-part-ii/
但我不能使用任何這些在我的情況下,或將它們與Processing.js整合。
編輯: 實際上它看起來可以在fps開始下降之前處理〜1000個形狀。在谷歌瀏覽器上測試,在i5處理器和GTX660 GPU上啓用GPU渲染。
我想這已經不錯了,但有什麼辦法去擠一些額外的FPS?
你能鏈接你的代碼嗎?嘗試pushMatrix()和popMatrix()? – 2013-02-13 16:54:03
pushMatrix()和popMatrix()會如何幫助?我簡單地稱爲橢圓200次/幀,這就是代碼。 – Cristy 2013-02-13 17:13:35
你應該發佈一些代碼或jsfiddle ... – Saturnix 2013-02-14 00:51:19