我知道您可以强制GPU加速,通过应用到'transform'属性的转换来实现屏幕上元素的平滑动画,例如:
elem.style.transition = 'all 3s ease-out';
elem.style.transform = 'translateX(600px)';
但是我想知道如果你用第二行替换会发生什么:
elem.style.left = '600px';
GPU加速会为/“左”(或“顶部”)属性启动,还是必须在转换属性上?在我看来它应该是GPU加速能力,但我无法从我读过的任何文档中收集到最终答案。
答案 0 :(得分:4)
它没有加速。您必须使用特定的CSS3属性才能加速。我想你会发现这些链接很有趣:
http://www.html5rocks.com/en/tutorials/speed/html5/
http://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome
Does animating the value of a CSS3 transform with javascript rule out hardware acceleration?
答案 1 :(得分:1)
我收集到的共识是,只有translate3d
属性在移动设备(如Mobile Safari)上进行硬件加速。