我正在尝试在使用requestAnimationFrame更新元素的transform属性时避免Chrome上的Paint阶段。我在这里创建了一个小型演示(仅适用于Chrome):http://jsfiddle.net/ES3FM/1/
var div = document.querySelector('div');
function repaint(){
webkitRequestAnimationFrame(repaint);
div.style.webkitTransform = "scaleX(" + (Math.random() * 100) + ")";
};
repaint();
我不知道是否可以实现这种行为,如果不是我真的很感兴趣我们如何动态地影响页面中元素的渲染而不触发Paint阶段但只使用Composite Layers阶段。< / p>
答案 0 :(得分:0)
我已经解决了,position: absolute
没有创建新图层,translateZ(0)
没有,这是固定版本:http://jsfiddle.net/sandro_paganotti/ES3FM/2/
var div = document.querySelector('div');
function repaint(){
webkitRequestAnimationFrame(repaint);
div.style.webkitTransform = "translateZ(0) scaleX(" + (Math.random() * 100) + ")";
};
repaint();