-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Fix potential flickering on image source updates #11928
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SnailBones
approved these changes
May 24, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 LGTM
avpeery
approved these changes
May 25, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice fix @karimnaaji!
karimnaaji
added a commit
that referenced
this pull request
May 31, 2022
* Fix flickering of image source on reload * Add unit tests
SnailBones
pushed a commit
that referenced
this pull request
Jun 2, 2022
* Fix flickering of image source on reload * Add unit tests
karimnaaji
added a commit
that referenced
this pull request
Jun 8, 2022
* Add fog render test for empty update parameters (#11900) * Add precision qualifiers to globe_raster fragment shader (#11903) * Add filter features within map view with globe release test (#11888) * add filter features within map view with globe release test * Fix incorrect circle bucket up direction (#11904) * Fix for https://github.com/mapbox/mapbox-gl-native-internal/issues/3426 * Update baselines * ScaleControl: add i18n support (#11850) * ScaleControl: add i18n support * hardcode nautical miles as `nm` for all locales * Add minimum/maximum fields for center/parallels (#11912) * Add new render test for globe antialiasing (#11933) * Fix potential flickering on image source updates (#11928) * Fix flickering of image source on reload * Add unit tests * Fix setStyle breaking with globe view (#11913) * set draping for terrain * use map option for terrain draping check * move to one line * wip: add render test * fixed error with render test * demonstrate issue with mercator * fix background id to update in second setStyle call * bring zoom out to show sphere * Updating expected.png * better readability * fix conditional * fix lint Co-authored-by: Aidan H <[email protected]> * Fix tiles not rendering across antimeridian in globe (#11943) * Add video to globe release tests (#11929) * add ozone video on globe to release tests * formatting * formatting * fix lint issues * simplify play/pause button * added atmosphere * Do not render atmosphere when fog isn't supported by the projection (#11947) * Clone stylesheet to allow toggling different styles with `setStyle` (#11942) * clone stylesheet instead of manipulating it directly * style should not contain terrain since it is no longer being overwritten * add unit test * add in default values for terrain when updating * Add test for projections * unit test for terrain exaggeration does not need sources * should have two calls to setStyle to fully test toggling * default value does not need to be added if previous terrain style also used the default value * hasOwnProperty is already a boolean * no need to check currSpec because checks for deep equals and 1 is already set for default * fix unit tests * fix style setting in unit test * accidental deletion * switch to deep clone from extend * better way to find default value * use hasOwnProperty instead * convert to false from undefined * create reusable function for setting transition parameters * update _setTransitionParameters * mix up between duraton/delay values * reduce repetitive code to update style spec and transitions between terrain and fog * revert change * minimize scale changes when panning in globe view (#11951) * adjust scale at low zoom levels in globe view * improve * Adding render test catching missing tiles with minzoom * Allowing lower zoom level tiles toward the poles * Fix lint * Updating render tests to pass * Updating tolerances to fix failing tests * Updating one more tolerance * Fixing query tests * use GLOBE_ZOOM_THRESHOLD_MIN * rename to mercatorScaleRatio * add comment about matching scale * avoid recentering on terrain if rendering globe * update unit tests * lint Co-authored-by: Aidan H <[email protected]> * Do not set the map language to the user's preferred language by default (#11952) * Do not set the map language to the user's preferred language by default * fix unit test * cleanup * cleanup * fix worldview setter Co-authored-by: Mikko Pulkki <[email protected]> Co-authored-by: Anna Peery <[email protected]> Co-authored-by: Stepan Kuzmin <[email protected]> Co-authored-by: Tristen Brown <[email protected]> Co-authored-by: Aidan H <[email protected]> Co-authored-by: Ansis Brammanis <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix image source flickering on image updates by retaining the
_loaded
status. When updating image sources, we may introduce an issue where tiles are marked as unloaded, which leads to tiles not rendering when they still have data to render. By retaining their loaded status, we allow these tiles to keep rendering until the new image is loaded. This issue is particularly visible on globe when draping is enabled.Fixes #11776
fix.mov
bug.mov
Launch Checklist
mapbox-gl-js
changelog:<changelog>Fix potential flickering on on image source updates</changelog>