translate3d是否总是强制硬件加速或仅转换属性?

时间:2015-11-02 23:09:14

标签: css performance css3 mobile gpu

因此,假设我有一个页面,左侧属性上有一个动画元素。如果我只添加一个零的translateZ,那是否足以强制移动设备上的硬件加速?通过使用translateX而不是左边,我能获得硬件加速/ GPU方面的任何东西吗?

2 个答案:

答案 0 :(得分:1)

我找到了答案 - 它只会加速变换属性,而不会离开。以下是要展示的示例小提琴。

左和翻译的组合 - 在移动设备上的波涛汹涌 translateX和translateZ的结合 - 它很流畅!

答案 1 :(得分:1)

首先,我想指出,translateZ(0)不是跨浏览器的解决方案,可以通过GPU加速来平滑动画,并且GPU加速不应该被粗心使用,因为它非常漂亮昂贵。

话虽如此,当它起作用时,它不仅仅适用于翻译属性,所以简短的答案是肯定的,它适用于所有属性

在您的示例中,您可以清楚地看到使用translate而不是left的改进,因为translate不会在每一帧触发布局(导致您的页面重新计算元素位置)。 请记住,使用轻量级属性(如 translate )为元素设置动画的效果远远高于使用具有GPU加速功能的昂贵属性。

你可以在css trigger找到属性较便宜的属性。