Use requestAnimationFrame instead of timed updates. 60fps baby\!