當我創建了一個簡單的codepen來調試爲什麼我的反應應用程序中的某個組件使用瞭如此之多的CPU時,我驚訝地發現這是我看到20-30%CPU的Chrome中的這個小CSS過渡。過渡動畫,高cpu?
http://codepen.io/anon/pen/wJzmxe
任何人有想法,我們怎麼可能會以不同辦法呢?或者爲什麼會出現這種情況?
<div id='foo'></div>
#foo {
background: red;
height: 20px;
max-width: 500px;
transition: width linear;
transition-duration: 10s;
width: 0;
}
var yes = true
setInterval(function() {
var size = yes ? '500px' : '0px'
yes = !yes
document.getElementById('foo').style.width = size
}, 10*1000)
你爲什麼不使用一個類來驅動動畫? –
'10s'是一個快速過渡的長時間...... –
注意,您可以使用Chrome DevTools的時間軸和動畫標籤查看渲染過程中發生了什麼,並優化了動畫的性能。 – cloudworks