fix cursor issue, and use requestAnimationFrame