Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/DebounceAnimation #66

Merged
merged 3 commits into from
Dec 10, 2017
Merged

Conversation

mblomdahl
Copy link
Member

@mblomdahl mblomdahl commented Dec 9, 2017

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).

@mblomdahl mblomdahl requested review from carlba and dsperling December 9, 2017 16:29
@dsperling
Copy link
Member

Tested via Docker and it looks good.

@mblomdahl mblomdahl merged commit c48aab3 into smithmicro:develop Dec 10, 2017
@mblomdahl mblomdahl deleted the feature/debounce branch December 10, 2017 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants