-
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
Avoid tile popping/flicker on RasterTileSource setTiles #12707
Comments
I'd love to see RasterSource match the behavior ImageSource. I'm trying to choose between using ImageSource vs Raster for showing Esri dynamic map services. I have to choose between an old-school presentation where an image for the whole viewport is requested or a more appealing tiled presentation. Unfortunately changing the layers requested with the tiled presentation results in this "tile popping" so I will probably use ImageSource instead. |
Exactly in the same mindset, using ImageSource could be a replacement to avoid tile popping for wmts server, requesting an image at viewport extent and resolution. It might not work for all cases, especially for non-matching or non-mercator projections, plus wondering what would happen at low zoom levels in globe view for example. By the way, did not know about frontiersi/mapbox-gl-esri-sources , interesting library for the task. |
I came up with It would be nice if someone decodes this, and makes a PR. |
Motivation
This
dynamic raster tiles support
PR is a great addition, especially for periodic/multi-temporal raster tilesets.However, it induces tiles popping on tiles url update, as shown in this react-map-gl issue.
When one does use
setTiles
with a single TMS url, the previous rasterLayer tiles of the source are dumped - resulting in the map background style being displayed for a short amount of time until the new tiles are loaded and start populating the map.This makes for a harsh transition especially for periodic tilesets.
Design Alternatives
What would be interesting is to allow for a different approach, to unload each tile only when the new one is loaded, similar to how zoom.earth works.
Mock-Up
Mapbox example with tiles popping
2023-05-11.10.05.10.mp4
Zoom.earth example without tiles popping
2023-05-11.10.16.21.mp4
The text was updated successfully, but these errors were encountered: