动画浅析

作者: xhbisme | 来源:发表于2018-04-19 19:39 被阅读2次
满满的好奇心

    在谈css3动画加速之前,先考虑几个问题:

    1.我们为什么要做动画?

    2.为什么推荐css3动画?

    带着这两个问题,我们一起探索一下关于动画加速的内容。

1.为什么要做动画?

        各位司机们一定会在脑海中浮现一个词--“用户体验”。作为用户来讲,用起来爽,就是用户体验好,除了必须做到的性能加速,我们能不能在使用感觉上让用户感觉“上瘾”,不至于觉得无聊,也是改善用户体验的必经之路。除此之外,我们在请求接口的时候,难免遇到时间过长,数据量过大的问题,在用户等待的过程中,我们可以用动画来化解尴尬。

尴了个尬。。

2.为什么推荐css3动画?

        这里,并不是说其他方式行不通,那我们通过对比的方式来看一下动画之间的差异。(由于鄙公司要兼容万恶的IE,而且动画允许最低到IE10,下列对比内容有一些客观原因在内)

兼容性对比:(css, svg, canvas, webGL, Web Animations)

css animation:

css动画兼容

svg smil animation:

svg动画兼容

canvas 动画:

canvas动画兼容

webGL:

webGL动画兼容

Web Animations:

web animations动画兼容

从兼容性的角度,如果要兼容IE10,符合要求的只有CSS3和canvas。

易用性对比(css3,canvas)

css3:

优点:

    简单、高效

    声明式的

    不依赖主线程,采用硬件加速(GPU)

    简单的控制keyframe animation 播放和暂停

缺点:

    不能动态的修改或定义动画内容

    不同的动画无法实现同步(这个可以通过逗号隔开不同的动画,实现不同属性,不同的变化趋势函数)

    多个动画彼此无法堆叠(这个可以通过延迟去控制,animate支持用逗号隔开不同的动画)

canvas:

优点:

     画2D图形时,页面渲染性能比较高

    页面渲染性能受图形复杂度影响小

    渲染性能只受图形的分辨率的影响

    画出来的图形可以直接保存为 .png 或者 .jpg的图形

     最适合于画光栅图像(如游戏和不规则几何图形等),编辑图片还有其他基于像素的图形操作。

缺点:

     整个就是一张图,没有DOM节点可供操作

    没有实现动画的API,你必须依靠定时器和其他事件来更新Canvas

    对文本的渲染支持是比较差

    对要求有高可访问性(盲文、声音朗读等)页面,比较困难

     对交互要求高的(比如TIBCO的很多产品)的界面,不建议使用Canvas

通过对比发现,canvas适合做动画,如果去操作dom去写逻辑,或者遇到文本内容,我觉得还是css3比较靠谱。

相关文章

  • 动画浅析

    在谈css3动画加速之前,先考虑几个问题: 1.我们为什么要做动画? 2.为什么推荐css3动画? 带着这两个...

  • 动画浅析

    动画是iOS开发中非常常用的功能,我们可以通过动画做出非常炫目的效果,有趣的界面.下面简单介绍下动画的创建. la...

  • css3动画加速

    前情回顾: 上回我们说到我们推荐了css3动画(动画浅析)。那我们这次来看一下css3的动画原理,以及如何开启硬件...

  • Android动画浅析

    动态的东西往往比静态的更能抓人眼球,随着android5.0的发布,Material Design中对动画的使用越...

  • 浅析Android动画(三)——布局动画

    布局动画用来给ViewGroup添加动画 使用LayoutAnimationController 例如给ListV...

  • 给平淡生活一剂调料

    给平淡生活一剂调料 ——浅析微动画《头朝下的生活》 《头朝下的生活》是一个微定格动画,讲述了一对夫妇生活在重力完全...

  • 浅析UIView动画初步

    效果图片:

  • css过渡动画浅析

    CSS过渡transition transition-property: 过渡属性(默认值为all) transi...

  • RecyclerView动画源码浅析

    本文是RecyclerView源码分析系列第四篇文章,内容主要是基于前三篇文章来叙述的,因此在阅读之前推荐看一下前...

  • Android动画-属性动画底层原理浅析

    之前发表了三篇文章分别描述了三种动画的使用方式,今天我们来了解一下属性动画的底层原理。之前的三篇文章链接:Andr...

网友评论

    本文标题:动画浅析

    本文链接:https://www.haomeiwen.com/subject/rlhgkftx.html