我想比较 jQuery 的动画功能和纯 CSS3 过渡的性能。我发现有一个requestAnimationFrame API来衡量性能,但它似乎只能与 canvas 元素一起使用?
与CSS3和canvas相比,有什么好方法可以测试绝对定位的性能吗?
stats.js有用且值得信赖吗?你有什么经验?
我构建了这个jsPerf 测试。不幸的是 jQuery.on 方法没有被执行。:(
我想比较 jQuery 的动画功能和纯 CSS3 过渡的性能。我发现有一个requestAnimationFrame API来衡量性能,但它似乎只能与 canvas 元素一起使用?
与CSS3和canvas相比,有什么好方法可以测试绝对定位的性能吗?
stats.js有用且值得信赖吗?你有什么经验?
我构建了这个jsPerf 测试。不幸的是 jQuery.on 方法没有被执行。:(
我认为过渡/动画规则应该在 CSS 中,因为它们是一个表示元素,而 JavaScript 是用于行为的。出于这个原因,我会坚持使用 CSS 转换,让 JavaScript 来做表单验证/ajax/等。但这并不意味着 JavaScript 是用于动画的错误技术,Web 的本质是您可以以多种方式使用技术,因为它们之间有很多重叠。
我为您提供了一些我认为您可能会觉得有用的链接;Paul Irish/Chris Coyier 关于 translate 的讨论,一个关于CSS 过渡与 Javascript 中的动画的视频,以及显示jQuery 和 CSS 之间帧率比较的链接。您可以在第三个链接中看到,CSS 绝对比 JavaScript 更快、更流畅;我猜是因为它是硬件加速的。
几个类似结论的stackoverflow问题:什么更快?CSS3 过渡还是 jQuery 动画?:: CSS 过渡与 JS 动画包的性能
您是对的,该requestAnimationFrame
功能仅适用于画布元素。如果您打算将 CSS 转换与画布输出同步,我建议您使用它,因为它是为此而构建的,而不是与setInterval
.