什么更快? CSS3过渡或jQueryanimation?

我正在研究iPad的HTML5应用程序,我已经实现了ontouch支持来更快地触发事件,我使用jQuery来更容易地定位元素,但是对于我使用CSS3转换的animation

你觉得什么更快? 使用jQueryanimation,因为我已经导入库或使用jQuery的目标元素时使用CSS3转换?

根据这个链接 ,jQueryanimation比cssanimation慢得多。

原因可能是因为jquery必须使用定时器和循环来修改DOM元素的道具。 CSS是浏览器引擎的一部分。 这几乎取决于系统的硬件。 您还可以检查Chrome或Firefox的分析。

CSSanimation几乎总是会更快。

一个头对头的CSS过渡和jQuery的animation比较。 浏览器本身不处理定时器,而不是重复运行。 在我的相当不科学的testing中,转换总是更快,运行速度更高,特别是大量的元素。 它们还具有色彩可以轻松animation的优点,而不必依靠插件。

http://css.dzone.com/articles/css3-transitions-vs-jquery

相关问题: CSS转换与JSanimation包的性能

CSS3转换应该更快,因为它们是浏览器原生的。

它的css3更快,消耗更less的内存,更stream畅。 CSS处理器是用C ++编写的,本机代码执行速度非常快,而jQuery(JavaScript)是一种解释型语言,浏览器无法及时预测JavaScript。 http://dev.opera.com/articles/view/css3-vs-jquery-animations/

查看上面的链接,了解CSS3 vs jQuery的实验

本文(http://css-tricks.com/myth-busting-css-animations-vs-javascript/)对CSS转换与jQueryanimation与GSAP(另一个JavaScript库)做了很好的比较。;

CSSanimation比jQuery快得多。 不过,在我testing过的大多数设备和浏览器上,基于JavaScript的GSAP的performance甚至比CSSanimation更好

所以CSS转换比jQueryanimation更快 ,但不要让这个让你认为CSS转换比JavaScript更快。 GSAP显示JavaScript可以胜过CSS

CSS3会更快,因为它是标准的浏览器,JQuery是另一个必须加载的文件,但是我发现取决于JQuery可以运行的animation更顺畅。 有时候,一次又一次地尝试纯Javascript也是不错的select。

Mozilla开发者文档提出了关于CSS3animation的一些有趣点 :

通过让浏览器控制animation序列,浏览器可以优化性能和效率,例如,减less当前不可见的选项卡中运行的animation的更新频率。

WebKit(它支持Safari)也使用了硬件加速合成技术 ,与目前的Javascript可以做的任何事情相比,对性能的影响更大。 (我认为这会很快改变,因为更多的function被添加到pipe理计算中)。这是因为如果它可用于执行计算,它将利用专用硬件,而不是通过像JavaScript这样的翻译语言来实现。

我不是100%确定iPad上的 WebKit是否硬件加速; 然而,理由是因为它是标准化的,越来越受欢迎,这只会随着时间的推移而改善。

从这里

一个头对头的CSS过渡和jQuery的animation比较。 浏览器本身不处理定时器,而不是重复运行。 在我的相当不科学的testing中,转换总是更快,运行速度更高,特别是大量的元素。 它们还具有色彩可以轻松animation的优点,而不必依靠插件。

这里的testing与这个结论一起。

基于定时器的Javascriptanimation永远不会像原生animation一样快,因为它们没有足够的浏览器来进行相同的优化。 这些animation只能在传统浏览器中作为后备使用。

另外注意这一点 ,

CSS3animation非常stream行,但是确实使用了很多处理器的function。 没有办法像使用jQuery这样的框架,用CSS3来优化animation。 所以,只要CSS3animation不是CPU友好的,你最好坚持使用jQuery。

如果你正在使用jQuery / JavaScriptanimation与canvas标签(如果我没有弄错,仍然依赖于一个计时器…新的东西,虽然玩耍),然后它给你的JavaScript的硬件加速的优势。 如果你只是想徘徊,当你徘徊,然后过渡工作很好。 CSS转换可能会运行得更顺畅一些,但是这是一个折衷,你使用转换放弃了对animation的一大堆javascript控制。 我喜欢在CSS中保留样式,在JS中保持行为 – 是不是它应该如何工作呢? CSS转换的种类打破了逻辑…

原生应该是更快,但如果浏览器开发人员怠惰(或懒惰),他们写错误的代码,导致CSSanimation(或转换)结果不佳。

现在,jQuery有一个插件,用“改进的”来覆盖“animation”function。 见速度 。 我没有进入其他方式来使用JavaScriptanimationDOM,因为它超出了这个问题的范围。

所以,现在,jQuery比CSS慢。 另外,CSS比较容易编写,因为你可能已经有了元素样式,所以添加一些规则是很容易的,相比之下,你需要开始在某处编写JS并pipe理它。但是对于复杂,繁重的东西,JS是更快,可悲。

关于这个确切的问题的一个非常好的文章 – http://davidwalsh.name/css-js-animation

由于它在GPU上执行操作,CSS3速度更快。 检查我的答案在SO – 链接类似的问题

并请一个不错的文章http://knowledge-cess.com/animation-and-the-role-of-gpu-a-performance-factor/