在微信小程序上要实现一个平移的的动画,一般情况是用css的translate来平移,但是刚好在接触canvas,于是想到
现在有三个方案:
- 用css的translate来平移
- 用小程序API的wx.createAnimation来平移
- 用canvas逐桢绘制
哪个性能好呢
有个疑问:css也是通过重新渲染来平移的吗,他们的原理是不是都发生了重新渲染呢?
感谢
在微信小程序上要实现一个平移的的动画,一般情况是用css的translate来平移,但是刚好在接触canvas,于是想到
现在有三个方案:
哪个性能好呢
有个疑问:css也是通过重新渲染来平移的吗,他们的原理是不是都发生了重新渲染呢?
感谢
这个是一个伪命题。
你举的例子并不确切,换句话说你并不是因为要做一个平移的的动画而考虑应该用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...
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答897 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
小程序API