Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

[core] Avoid GeoJSON source flickering on style transitions #15907

Merged
merged 3 commits into from
Nov 12, 2019

Conversation

pozdnyakov
Copy link
Contributor

@pozdnyakov pozdnyakov commented Nov 11, 2019

Before this change, the GeoJSON source cleared tile pyramid
at any style transition and it caused flickering.

Now, in Continuous mode, we keep the existing tiles until the
new GeoJSON data is available, thus providing smart
style transitions without flickering.

In other modes (Static, Tile) clear the tile pyramid in order
to avoid render tests being flaky.

Fixes https://github.com/mapbox/mapbox-gl-native-team/issues/104

Before this change, all GeoJSON source cleared tile pyramid
at the style transition and it caused flickering.

Now, in Continuous mode, we keep the existing tiles until the
new GeoJSON data is not yet available, thus providing smart
style transitions without flickering.

In other modes (Static, Tile) clear the tile pyramid in order
to avoid render tests being flaky.
@pozdnyakov pozdnyakov added bug Core The cross-platform C++ core, aka mbgl needs changelog Indicates PR needs a changelog entry prior to merging. labels Nov 11, 2019
@pozdnyakov pozdnyakov self-assigned this Nov 11, 2019
@pozdnyakov pozdnyakov marked this pull request as ready for review November 11, 2019 15:19
@pozdnyakov pozdnyakov requested a review from a team November 11, 2019 15:25
@pozdnyakov pozdnyakov removed the needs changelog Indicates PR needs a changelog entry prior to merging. label Nov 11, 2019
Copy link
Contributor

@alexshalamov alexshalamov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add a unit test?

@pozdnyakov
Copy link
Contributor Author

Could you please add a unit test?

Done, thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Core The cross-platform C++ core, aka mbgl
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants