2013-07-10 52 views
1

我正在用HTML5/JavaScript開發一個圖表應用程序,所有圖形都使用SVG,使用Raphael或qooxdoo SVG(尚未定案)完成,繪圖區域應使用自定義背景圖像。太大而無法下載(2560x1600視網膜分辨率爲幾兆字節),這就是我爲什麼要構建它的原因,從瓦片和應用位圖效果組成它,爲此,我使用HTML5 canvas。之後,生成的背景圖像必須爲了實現這一點,我從畫布中導出了data URI,並在SVG中使用<image xlink:href="data:image/png;base64,..."/>使用帶有SVG的HTML5畫布

這適用於簡單的示例,但我對生產中的內存使用情況有點擔心。內存需要12MB(2560 * 1600 * 3字節),需要多少內存?我猜想至少有幾兆字節將被分配來存儲base64編碼的PNG壓縮表示作爲數據URI,另外12兆字節將會被傳送到SVG <image>元素的緩衝區。

我不知道是否有一種方法來短路,並避免冗餘圖像編碼解碼?

+0

需要對圖像是一個實際的SVG元素是由要求規定爲執行搖攝/變焦/整個繪製的旋轉區域,當背景是SVG樹的一部分時更容易完成。 此外,SVG必須導出到客戶端的PNG(我使用[canvg](http://code.google.com/p/canvg/))。 –

+0

在Firefox上,您可以通過about:memory檢查使用的內存 –

回答