我的項目有一個HTML5畫布,在其上重複繪製圖形對象。這些對象變化很快。繪製它們需要時間。我怎樣才能讓它更快?HTML5畫布:更好地重新繪製對象或使用位圖?
對象不是太複雜,但包含諸如弧,漸變,多邊形之類的東西。
對象的外觀取決於大約10個屬性,每個屬性都有大約10個值之一。這意味着只有大約100種不同的外觀才能達到目標。這就是爲什麼我只考慮一次繪製每個外觀然後緩存位圖以供重用的原因。
一切都必須在客戶機上運行(即我不能用現成圖像)
- 什麼是用HTML5畫布做到這一點的最好方法是什麼?
- 這是一個好主意還是比每次重新繪製對象都要高的位圖處理開銷?
我試過你的演示和在win7上的Firefox7我真的看不出緩存和非緩存之間的區別。我仍然贊同使用緩存,因爲在繪製「對象」(多邊形/漸變)時,緩存速度要快得多。當緩存由於新瀏覽器的渲染api支持而快速旋轉時,原因可能更多 – Niko
另外,本文對於畫布性能提示非常棒:http://www.html5rocks.com/en/tutorials/canvas/performance/ –
@Niko我需要更新我的演示版,現在它已經非常老了,你看到的主要性能增益是當你在屏幕上添加幾百個。 – Loktar