setInterval => requestAnimationFrame