我的问题是,哪种更快,是原生的SVG动画标签,例如:
<path d="something very long and non-human-friendly">
<animateTransform attributeName="transform" attributeType="XML"
type="rotate" from="0" to="360" begin="0s" dur="3s" fill="freeze"
repeatCount="indefinite" />
</path>
或CSS动画,例如:
path {
animation: foo 3s ease-out infinite;
}
@keyframes foo {
50% {
transform: rotate(360);
}
使用SVG动画可能更好,因为SVG具有更好的浏览器支持?
另外相关的是:由于CSS转换会触发硬件加速,我也想知道本机SVG动画标签是否也会触发GPU加速或由浏览器绘制。如果不是,是否可以强制SVG本地动画开启硬件加速?
干杯!
<animate>
的外部SVG是由动画引擎渲染的,这种情况需要通过源代码确认才能确定。不过我注意到,带有“animate”标签的嵌入式SVG在UA上运行速度更快。 - Alvin K.