当我使用will-change属性和transform3D()将动画元素分离到一个用于gpu呈现的新层时,我一直在尝试javascript动画,并注意到性能差异。当我试图动画元素的scaling时,就会发生这种情况,该元素还有一个border-radius css属性。科德芬
如果没有will-change,属性浏览器将执行额外的Rasterize (在屏幕截图上的光栅化thread1中)
对于will-change,不存在RasterizePaint操作(屏幕截图)。
当我试图在现实项目中一次动画化多个元素时,情况会变得更糟(尤其是在移动环境中会受到伤害)。(有意愿的改变,不愿改变)
所以问题是:will-change是如何设法提供这种优化的,即使它应该与transformZ(0) (为gpu呈现创建新层)做同样的事情。有没有办法不使用will-change来优化这个动画?
https://stackoverflow.com/questions/48862283
复制相似问题