smithmicro / mapbox-gl-circle

A *google.maps.Circle* replacement for Mapbox GL JS
https://smithmicro.github.io/mapbox-gl-circle/
ISC License
55 stars 26 forks source link

Feature/DebounceAnimation #66

Closed mblomdahl closed 6 years ago

mblomdahl commented 6 years ago

This (largely) fixes mapbox/smithmicro-collab#1 (and also fixes #64 and fixes #59).

Initial approach with _.debounce was somewhat successful; after lots of tweaking and benchmarking in ...

... I found the magic compromise to be trailing lodash debounce at 6 ms. More milliseconds and it becomes unnecessarily laggy and unresponsive on fast laptop. Less and performance really degrades on crappy computers.

In the end, lodash.debounce still came with a degraded user experience on fast machines so I gave up on it and resorted to rAF instead. With requestAnimationFrame things seem to run smoothly on the Mac and even better than _.debounce on the worst performing setup (Firefox + i3 + Windows 10).

dsperling commented 6 years ago

Tested via Docker and it looks good.