Do not use requestAnimationFrame