2013-01-21 51 views
1

我正在用畫布創建動態圖像。我需要一個帶有動態文本的圖像,以便在畫布的幫助下創建圖像(base64)並附加到圖像標籤上,這很好。但是,當創建動態圖像的數量,我看到在鉻inspectelement - >資源 - >圖像。所有創建的動態圖像都緩存在瀏覽器中,這會導致移動設備出現性能問題或內存問題,或者我可以刪除一次。任何建議。動態圖像會造成性能問題?

var image = new Image(); 
image.src = canvas.toDataURL("image/png"); 

回答

0

你應該每次都重複使用相同的畫布,

使用畫布圖像後,擦除畫布

var ctx = canvas.getContext("2d"); 
ctx.clearRect(0,0,canvas.width,canvas.height); 

所有的繪圖然後在畫布上再次戰平,並用它...

+0

我將畫布轉換爲圖像使用.toDataURL()這個返回的圖像被添加到圖像src。對於使用新的畫布元素創建的每個動態圖像。 clearRect只清除畫布 –

+0

是的,你是對的, 那麼你應該直接使用畫布(如果可行的話),而不是從該畫布創建一個圖像,這種轉換可能會導致移動瀏覽器的性能問題 –

+0

如果你經常會創建圖像,可以說在一秒內10到15次,這可能會導致性能問題,否則移動操作系統將釋放他們的實例後釋放這些內存,但爲了安全起見,您應該清除內存,而下一次的圖像創建來獲得你想要的性能.. –