如何衡量CSS过渡和动画的性能

时间:2013-02-14 02:31:01

标签: html5-canvas css-transitions performance-testing requestanimationframe jsperf

我想比较jQuery的动画功能和纯CSS3过渡的性能。我发现有requestAnimationFrame API来衡量性能,但它似乎只能用于canvas元素?

与CSS3和canvas相比,是否有一种测试绝对定位性能的好方法?

stats.js是否有帮助且值得信赖?你有什么经历?

我构建了这个jsPerf test。不幸的是,jQuery.on方法没有被执行。 :(

1 个答案:

答案 0 :(得分:0)

我认为转换/动画规则应该在CSS中,因为它们是表示元素,而JavaScript则用于行为。出于这个原因,我会坚持使用CSS转换并让JavaScript进行表单验证/ ajax / etc.但这并不意味着JavaScript是一种用于动画的错误技术,网络的本质是你可以通过各种方式使用技术,因为它们之间存在很多重叠。

我为您提供了一些我认为您可能会觉得有用的链接; Paul Irish/Chris Coyier's discussion over translate,jQuery和CSS之间的animations in CSS transitions vs Javascriptlink showing the framerate comparison视频。 您可以在第三个链接中看到CSS肯定比JavaScript更快更流畅;我猜是因为它是硬件加速的。

一些类似结论的stackoverflow问题:what's faster? CSS3 transitions or jQuery animations? :: Performance of CSS Transitions vs. JS animation packages


你是对的,requestAnimationFrame函数仅适用于canvas元素。如果您计划将CSS过渡与画布输出同步,我建议使用它,因为它是为它构建的,而不是与setInterval一起使用。