2012-03-11 209 views
6

我想知道在canvas或svg(performance wise)中製作一個像this這樣的動畫是否更好?我現在用jquery重寫它,但是我在某處看到畫布每次改變時都會重繪。Animation SVG or Canvas?

回答

9

對於這些「簡單」的動畫和場景圖,如果您使用SVG或Canvas性能明智並不重要。兩者都應該正常工作,沒有性能問題

但是,與Canvas相比,使用SVG創建動畫可能更容易。 在Canvas中,您必須重繪整個場景,並且在SVG中,您可以只創建一次環,然後在其上定義一個轉換(旋轉)。

對於SVG退房d3.jsraphael和畫布,你可以檢查出processingjsfabric.jskinetic.jspaper.js

+0

當你畫在畫布上的圓或什麼的,是有可能的事件在給它添加帆布?並與SVG?你發送的好例子: – BigChief 2012-03-12 22:21:46

+3

那麼在純Canvas中,不可能將事件附加到任何基元/形狀。你必須自己編寫點擊檢測代碼(檢查鼠標位置是否在圓內)。然而,上面提到的畫布庫可能支持形狀上的事件,因爲它們通常具有抽象層。 SVG支持開箱即用的形狀上的事件,這就是爲什麼交互在SVG中比在Canvas中更容易實現的原因。 – 2012-03-12 22:28:42

+0

好吧我想我會使用其中一個庫添加事件的畫布。 – BigChief 2012-03-13 22:31:11