- smaller blocks
- switch from setTimeOut to requestFrameAnimation