-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Transitions fail to complete when zooming #1548
Conversation
@brunoabinader, want to take a crack at this? Basically, we need to thread some more state through so that |
@jfirebaugh yes, I'll take a look at this. |
Not only it fixes #1548, but also makes the function `O(1)` instead of `O(n)` (caused by usage of `size()`).
Review @kkaefer @jfirebaugh? |
While this fixes the bug, it also means that the map is continuously rendering at 60fps, using system resources and battery. Instead, we need to figure out in what circumstances we need to rerender (= when fading in/out), and not render otherwise. |
3bab65e
to
8163956
Compare
8163956
to
62a0b94
Compare
I've cracked my head a bit these past days trying to figure out why this was not working. It turns out that we're missing checking if Relevant changes:
|
62a0b94
to
c506d8f
Compare
👍 Moved related (but not necessary to fix the issue) changes to #1888. Thanks! |
c506d8f
to
3d58fca
Compare
3d58fca
to
d6f5965
Compare
Build failure cause is not related to these changes. See #1887 for details. |
This should fix #779 as well. |
d6f5965
to
0753aad
Compare
We're now using nudgeTransitions() to tell the Map view that we want to update it. However, if we're on a gesture movement, the update() call can get called too fast and causing general slowdown. This check ensures we only call for nudgeTransitions() after all gesture events are finished. Fixes the issue pointed out by #1548 on Android.
…syncing" This reverts commit b838816. It seems 'nudgeTransitions()' is no longer necessary as mapbox#1548 has fixed the update issues.
We're now using nudgeTransitions() to tell the Map view that we want to update it. However, if we're on a gesture movement, the update() call can get called too fast and causing general slowdown. This check ensures we only call for nudgeTransitions() after all gesture events are finished. Fixes the issue pointed out by mapbox#1548 on Android.
Following the same steps from mapbox#1548 and mapbox#1912 for GLFW and iOS ports. Also removed a redundant check if transform state is changing since we're already dealing with that.
When zooming with a scroll wheel or with pinch gestures, we sometimes fail to finish the fade transition (both fading in and fading out):