提升canvas性能技巧

參考文章:html

http://codetheory.in/optimizing-html5-canvas-to-improve-your-game-performance/html5

http://www.html5rocks.com/en/tutorials/canvas/performance/canvas


【總結】動畫

1)少用drawImage,能將多張圖拼成一張,儘可能多拼;code

2)drawImage的時候,用上所有參數,也就是用上sprite技術;orm

3)只作少許的,必要的碰撞檢測;htm

4)使用整型,少用浮點型;get

5)讓動畫基於時間,別基於幀,幀不可靠,基於時間能夠更平滑;it

6)文本繪製的成本很高;form

7)使用預渲染技術,將須要反覆繪製的東西預渲染到看不見的canvas上,再從它上面渲染至顯示用的canvas上,預渲染用的canvas大小不宜過大,否則它的開銷太大,得不償失。也就是說,預渲染用的canvas不宜使用sprite技術;

8)在路徑方面,合併多個路徑一次繪出來,不要屢次繪製零散的路徑;

9)改變context上下文的成本比較高,在相同的上下文下儘可能將相同的事情作完,再作另外一件事,不要頻繁切換上下文;

10)用多個canvas,分別繪製不一樣的圖層,不一樣圖層能夠有不一樣的fps;

11)避免使用陰影;

相關文章
相關標籤/搜索