对于大型布局,哪个更快?CSS3,还是jQuery?

对于大型布局,哪个更快?CSS3,还是jQuery?,jquery,css,css-transitions,css-animations,Jquery,Css,Css Transitions,Css Animations,我在我的网站上有一个流畅的布局,有一个元素是动画的,在悬停状态下有一个过渡。主要问题是,在更宽的屏幕上(比如说,比1600px更宽),CSS3悬停转换变得明显不稳定,并开始消耗内存。使用jQuery来实现这一点会使在更大的显示器上的效果更快吗?编辑:查看这一点,它可以将的性能与其他一些能够制作动画的库(包括jQuery)进行实时比较。TweenLite(GreenSock)的性能实际上相当令人印象深刻,尤其是与Zepto基于CSS3的动画相比 -- 就性能而言,CSS3动画比jQuery动画快得

我在我的网站上有一个流畅的布局,有一个元素是动画的,在悬停状态下有一个过渡。主要问题是,在更宽的屏幕上(比如说,比1600px更宽),CSS3悬停转换变得明显不稳定,并开始消耗内存。使用jQuery来实现这一点会使在更大的显示器上的效果更快吗?

编辑:查看这一点,它可以将的性能与其他一些能够制作动画的库(包括jQuery)进行实时比较。TweenLite(GreenSock)的性能实际上相当令人印象深刻,尤其是与Zepto基于CSS3的动画相比

--

就性能而言,CSS3动画比jQuery动画快得多。()

<> P>性能的巨大差异是因为浏览器的CSS处理器是用C++编写的,而本地代码执行得非常快,而jQuery(JavaScript)是一种解释语言,浏览器不能及时预测JavaScript,就下一个事件将发生什么。
然而,正如本文所述,jQuery在浏览器兼容性方面要好得多,因为IE不支持CSS3转换CSS3快得多。它使用本机浏览器动画而不是javascript计时器。CSS3动画也可以由GPU加速

但这并不是什么灵丹妙药,如果你的页面速度慢,你需要对它进行优化。Chrome开发工具中的时间线选项卡提供了导致缓慢的原因的良好提示。还可以在下启用“合成渲染层边界”chrome://flags. 该选项显示哪个元素正在被GPU加速


它可能是你的悬停过渡触发了整个网站的GPU加速,因此导致了速度缓慢。如果是这样的话,一些位置合适的z索引可能会避免这个问题。

这可能在很大程度上取决于浏览器和设备,但从个人经验来看,我认为JavaScript通常比CSS慢。我高度怀疑浏览器的本机CSS渲染器更快,但是为什么你要问我们而不是自己测试它呢?我更喜欢jQuery而不是css3,虽然css3会稍微快一点,因为jQuery有更多的浏览器支持…CSS通常会更快。但是,如果您对正在设置动画的元素有效果,特别是框阴影,您可能会看到很多减速现象。@verandagy:是的,它高度依赖于浏览器及其环境。对于这个问题,没有一刀切的答案,尽管人们普遍认为JS速度较慢。而且,这可能与此有关。MooTools似乎在基于Webkit和Gecko的浏览器中表现优于竞争对手。