0
應該如何使用:繪製到新創建的畫布document.createElement("canvas")
或使用預初始化畫布元素從緩衝區繪製到畫布?達到最佳性能和最小內存消耗的最佳方式是什麼?這兩種方法之間有明顯的區別嗎?將garbarage收集器刪除所有臨時畫布,這是用document.createElement("canvas")
創建的?將圖像繪製到新創建的畫布或緩衝區中的畫布
應該如何使用:繪製到新創建的畫布document.createElement("canvas")
或使用預初始化畫布元素從緩衝區繪製到畫布?達到最佳性能和最小內存消耗的最佳方式是什麼?這兩種方法之間有明顯的區別嗎?將garbarage收集器刪除所有臨時畫布,這是用document.createElement("canvas")
創建的?將圖像繪製到新創建的畫布或緩衝區中的畫布
關於創建<canvas>
元素(Javascript,HTML),性能沒有差異。
無論你怎麼做,都會產生與創建<canvas>
元素相關的成本,所以你不想在繪製循環中創建其中的很多元素。這個成本是瀏覽器特定的,取決於實現,但可能很高。也可能取決於您是僅創建元素還是第一次繪製元素。
對於實際的繪圖操作性能,如果畫布在屏幕上或屏幕外(後臺緩衝區),則可能會出現問題。同樣直接訪問像素數據(獲取數據,放入數據)也會產生相關成本,因爲您可能需要先將GPU緩衝區從GPU RAM下載到CPU RAM。
查看這篇文章關於畫布上的表現http://www.onaluf.org/en/entry/13 – powtac