• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > JS动画比CSS3动画性能谁更好?

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含Animation,velocity,github,Faster,Which等相关知识,匿名希望在学习及工作中可以帮助到您
之前一直以为css3的才是最厉害的,但是最近做HTML5页面发现在微信上的效果不是太好。
最近发现的github上比较火的velocity.js,作者宣称要做DOM动画方面的领导者,完全颠覆了我的认识啊。

相关链接:
CSS vs. JS Animation: Which is Faster?

回复内容:

稍微做过一点点 Web App,目前深陷在 Android Webview 里不能自拔,来谈一点看法。

1. 在现代PC 浏览器上,CSS3 Animation 和 Transition 好写好用,流畅丝滑,而且动画过程0 GC。当然js 控制DOM动画如果控制好了,不要频繁reflow,动画也流畅。

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足够熟悉,以避免引入其他问题 其实这点差别在实际大部分使用情况下并木有卵区别……

您可能想查找下面的文章:

  • H5的定时器requestAnimationFrame使用技巧
  • html5制作新增的定时器requestAnimationFrame实战进度条
  • HTML5优化Web动画—requestAnimationFrame
  • JS动画比CSS3动画性能谁更好?

相关文章

  • 2018-12-03HTML5的表单中关于所有type类型的详细介绍
  • 2018-12-03html5 button autofocus 属性介绍及应用_html5教程技巧
  • 2018-12-03HTML的基本结构与标签的初步了解
  • 2018-12-03如何实现HTML5页面音视频在微信和app下自动播放
  • 2018-12-03HTML5之HTML元素扩展(上)—新增加的元素及使用概述_html5教程技巧
  • 2018-12-03html5 viewport使用方法示例详解_html5教程技巧
  • 2018-12-03基于HTML5的Web跨设备超声波通信方案详解
  • 2018-12-03如何使用HTML5实现地理位置的获取
  • 2018-12-03android ios h5 接私活哪个挣钱多?
  • 2018-12-03H5实现输入框添加语音功能的方法详解

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 映客、花椒的h5直播播放页面技术选择
    • HTML5标准学习-简介介绍
    • 如何在一个月之内从零基础成为初级CSS前端开发工程师?
    • li inside-block在IE11换行无效的原因
    • HTML5 微格式和相关的属性名称_html5教程技巧
    • 基于HTML5 SVG可互动的3D标签云jQuery插件
    • HTML5中对contenteditable属性的解释与规定
    • HTML5.1 里的新东西
    • 怎样操作页面、可视区、屏幕等宽高属性
    • 整理HTML5移动端开发的常用触摸事件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有