2012-03-11 67 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