首页 >

JS动画比CSS3动画性能谁更好?

web前端|H5教程JS动画比CSS3动画性能谁更好?
Animation,velocity,github,Faster,Which
web前端-H5教程
之前一直以为css3的才是最厉害的,但是最近做HTML5页面发现在微信上的效果不是太好。
最近发现的github上比较火的velocity.js,作者宣称要做DOM动画方面的领导者,完全颠覆了我的认识啊。
大气网站源码下载,vscode 安装svn,虚拟机怎么优化ubuntu,tomcat日志开启,c 导出sqlite数据,phpcms v9 关联 插件,前端用框架和不用框架的区别,网络爬虫国家鼓励使用,js 获取php的值,seo教程 ppt,黑色网站后台,网页人物介绍模板,twcms模板,程序任务lzw
相关链接:
CSS vs. JS Animation: Which is Faster?回复内容:
稍微做过一点点 Web App,目前深陷在 Android Webview 里不能自拔,来谈一点看法。
vfp分析系统 源码,vscode多行右移,ubuntu打开软件中心,破解tomcat,稳定 sqlite 版本,支付宝 服务器异步通知 php,淘宝数据插件,前端需要更新框架,matlab爬虫包,重庆php程序员工资,山东seo网络培训,dz网站后台,网页 操作系统,风格吧模板使用教程,点击菜单显示相应页面,开源设备管理系统,dsp2808程序lzw
1. 在现代PC 浏览器上,CSS3 Animation 和 Transition 好写好用,流畅丝滑,而且动画过程0 GC。当然js 控制DOM动画如果控制好了,不要频繁reflow,动画也流畅。
易语言做任务源码,vscode与c 图形框架,更新ubuntu 包,tomcat部署项目启动,德国爬虫动物,php5.6特性,福清正规seo是什么,下载网站 php源码怎么用,专业仿dedecms模板下载lzw
2. 在 iOS Safari 上,CSS3 动画和js动画都容易搞流畅,只要别reflow。

3. 在 iOS Webview 上,不能用jit,js性能下降严重,如果CSS3动画能解决还是别用js。某个版本iOS之后这个限制解除了好像,不太了解。

4. 低版本 Android 用的是很老的 Webkit,没有硬件加速,CSS3支持不完全,2d Canvas有bug,性能比chrome 差老远了,如果动画复杂又大块,DOM树复杂,还用了box-shadow 之类很耗性能的样式,很难做流畅。

这种情况请考虑 Chrome on Android,或者crosswalk。

5. Android 4.4 以后,系统自带chromium,体验能做到与iOS safari不相上下。

====

另外多提一句GC。

GC 你听过吧?如果不用CSS3 Animation 和 Transition,就要用 requestAnimationFrame() 。在动画的过程中会不断调用js,消耗内存,一段时间之后触发GC,如果GC时间超出frame budget,动画会卡顿。

如果非要用js动画,那么也请考虑使用无reflow 的 transform属性,加上 translateZ(0) 强制指定硬件加速。

JS 动画也是通过更改 CSS 实现的。

而且从设计的角度来说,CSS 本身就是设计用来表现样式,JS 控制逻辑。JS 动画是 CSS3 出现之前的曲线救国。

个人觉得,简单的动画还是用 CSS 做,特别复杂的再用 JS。

codepen 上面的趋势是去 JS 化,动画一律用 CSS 实现。借助 LESS 等预编译语言可以做出很复杂的动画。

性能的话,短期手机浏览器可能对 CSS3 支持不太好,但长期一定是会优于 JS 的。

其实这个。。。。。看引擎的。。。。
chrome上css3明显流畅过js,IE11上的js动画如丝般顺滑。。。。

动画的性能的关键,不在于js执行的效率,而在于dom结构。所以css原生动画,与js动画并不会相差太大。
优化动画性能,就要减轻dom,使用合理的定位方式,等等。

这种对比应该还是要来个例子。
这是前几天我翻译一篇文章时看到的对比Building Great Mobile Menus (为你的网站创建移动菜单)
对了,我的翻译只是为了自己总结学习,有精简很多。。建议看原文=-=
不是涉及复杂的计算,css明显快,但是涉及到复杂的计算,比如点是不确定的,你还是要用js。

其实这种对比个人感觉没什么意义(可能是我水),在项目中, 大多数情况下-0-你都要用js来计算。

js+canvas(html5)+水平>css3>js+dom

就说一点,JS动画比CSS3动画有控制,且没有兼容性问题

从原理上来说的话
CSS == iOS
JS == Android

(以20马赫快速逃跑中

个人项目体会:
在没有RAF时,css方式流畅度占优。
有RAF后两者相当。

js方式要求开发人员对js足够熟悉,以避免引入其他问题

其实这点差别在实际大部分使用情况下并木有卵区别……


JS动画比CSS3动画性能谁更好?
  • CSS3中transform、transition和animationsan三种属性的区别实例详解
  • CSS3中transform、transition和animationsan三种属性的区别实例详解 | CSS3中transform、transition和animationsan三种属性的区别实例详解 ...

    JS动画比CSS3动画性能谁更好?
  • css3动画属性有哪些
  • css3动画属性有哪些 | css3动画属性有哪些 ...

    JS动画比CSS3动画性能谁更好?
  • 如何使用CSS实现变色旋转动画的动态效果
  • 如何使用CSS实现变色旋转动画的动态效果 | 如何使用CSS实现变色旋转动画的动态效果 ...