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 ...
Firefox/Safari on 15" MacBook Pro (with and without discrete GPU running)
Firefox/Edge on Windows 10 laptop from 2014 with Core i3 CPU, 4 GB and spinning junk inside
... 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).
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).