canvas和css实现同一个动画哪一个性能好

在微信小程序上要实现一个平移的的动画,一般情况是用css的translate来平移,但是刚好在接触canvas,于是想到
现在有三个方案:

  • 用css的translate来平移
  • 用小程序API的wx.createAnimation来平移
  • 用canvas逐桢绘制

哪个性能好呢

有个疑问:css也是通过重新渲染来平移的吗,他们的原理是不是都发生了重新渲染呢?

感谢

阅读 3.1k
2 个回答

这个是一个伪命题。

你举的例子并不确切,换句话说你并不是因为要做一个平移的的动画而考虑应该用css还是canvas。

css3动画很丰富,并且浏览器支持度相对已经很好了。再加上css3可以使用gpu加速,性能上已经很好了(如果使用得当的话,我已经不知道看过多少使用不当而认为css动画性能差的例子)
当然canvas也有很多错误使用,导致性能变差,详细可以查看这篇文章: https://www.html5rocks.com/zh...

而canvas个人认为更适合像素级别的绘制。这是css无法做到的。
canvas有专门的画布,其并不急于dom,因此性能上和css3会有一点不同,有时候canvas动画会更平滑。
有人做过测试, canvas和css3动画其实在不同场景各有优略。

可以参考stackoverlow上的回答: https://stackoverflow.com/que...

希望我的回答对你有帮助。 我的个人主页是https://azl397985856.github.io/ , 掘金主页 https://juejin.im/user/58af98...  

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题