Preserve parent tiles in the source cache #4311
Merged
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.
This PR is an alternative to #4210, and aims to resolve an issue where tiles in the source cache are prematurely deleted, resulting in tiles reloading when zooming in and out:
This behavior is visible in this jsbin by clicking the Zoom In button twice, and then the Zoom Out button twice.
Future work
updateCacheSize
sometimes receives misleading tile size information that results in the cache being too small (e.g., it may think that an 8x8 grid of retina tiles is actually a 4x4 grid). Resolving this should improve the reliability of the cache. I can open a separate issue with more detailsLaunch Checklist
cc @lucaswoj — as always, I'm happy to provide any additional info or changes necessary 😄