0

Я пытаюсь избежать фазы Paint в Chrome, используя requestAnimationFrame для обновления свойства преобразования элемента. Я создал небольшую демо здесь (работает только в Chrome): http://jsfiddle.net/ES3FM/1/Не удается избежать запуска Paint on Chrome при работе только с свойствами преобразования CSS

var div = document.querySelector('div'); 
function repaint(){ 
    webkitRequestAnimationFrame(repaint); 
    div.style.webkitTransform = "scaleX(" + (Math.random() * 100) + ")"; 
}; 

repaint(); 

Я не знаю, если это поведение может быть достигнуто, если не я действительно заинтересован в том, как мы можем динамически влиять на визуализацию элемента на странице без запуска фазы Paint, но с использованием только фазы Composite Layers.

+0

1. Это не должно быть проблемой производительности 2. скорее всего, не может быть предотвращено , учитывая, что пиксели меняются в окне –

+0

@ ZachSaucier благодарит за ответ, я пытался добиться такого же улучшения, как указано в этой статье http://www.html5rocks.com/en/tutorials/speed/layers/, где он показано, как избежать фазы Paint с помощью анимации CSS. –

ответ

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(); 

 Смежные вопросы

  • Нет связанных вопросов^_^