1
imn1 2015-07-14 14:09:49 +08:00
css
|
2
learnshare 2015-07-14 14:10:46 +08:00
|
3
YuJianrong 2015-07-14 14:37:57 +08:00 1
这要看怎么定义快。
CSS transform+transition(animation): 现在大部分设备(包括移动设备)都提供了GPU加速的transform+transition支持,也就是说用这个做动画流畅度很高(快解释为流畅度的话),但也有缺点,缺点就是在没动画的时候加上动画的话,浏览器渲染器需要将dom render成贴图,再交给GPU去加速的,这里会有一个在部分移动设备上是人眼能觉察的延迟。 CSS + Javascript: 首先做动画的流畅度是肯定不如CSS的,然后响应(快解释为响应的话)要看你的JS是否会导致relayout。如果没有relayout只有repaint的话即使是移动设备响应延迟也几乎无法察觉。 Canvas + Javascript: 响应最好的方案,毕竟没有relayout repaint什么一大堆。缺点是写起来很困难,根本不像在做网页了,流畅度介于以上两方案中间,原因很简单:虽然canvas的描绘是GPU加速的,但每一帧的刷新代码却是JS,自然比纯native的方案流畅度有所降低。 |
4
leojoy710 2015-07-14 14:55:24 +08:00 1
http://greensock.com/css-performance
还有这篇文章下面一篇google的文章 https://developers.google.com/web/fundamentals/look-and-feel/animations/css-vs-javascript 结论就是 请根据具体动画的情况适用css或者js js+transform应该是比transition/animation+transform要快 |