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

Render parent raster tiles when tiles can't be loaded #8769

Merged
merged 1 commit into from
Apr 20, 2017

Conversation

kkaefer
Copy link
Member

@kkaefer kkaefer commented Apr 19, 2017

In #8164, we implemented raster tile overzooming. However, this fails in non-continuous rendering modes ("Still image rendering").

I believe this is a combination of two bugs, one of them in the node bindings, the other in updateRenderables:

  • Node FileSource doesn't support optional, so the code path for loading parent tiles is never triggered, and all tiles we attempt to load are not in complete state,
  • Still image rendering relies on tiles being marked as complete, but that never happens when a tile can't be loaded. This isn't an issue for continuous rendering because we just render what we have, but it's a termination condition for Still image rendering.

JS test is in mapbox/mapbox-gl-js#4612

/cc @tmpsantos @bsudekum

@kkaefer kkaefer force-pushed the 8769-parent-raster-hang branch 2 times, most recently from 43db7b2 to cf1be2b Compare April 19, 2017 16:51
@bsudekum
Copy link

@kkaefer are there any platform specific implications worth noting with this change?

@kkaefer
Copy link
Member Author

kkaefer commented Apr 20, 2017

are there any platform specific implications worth noting with this change?

It changes the behavior in two ways:

  • We are now triggering "required" requests after a parent tile failed to load. Previously, we only triggered optional requests, so file sources that don't support these never loaded parent tiles.
  • We are marking tiles that we attempted to load, but that failed to load or parse as "complete/loaded" (but not "renderable"). This means that they now trigger loading parent tiles, and allow the overall map to transition into a "loaded" state, which is the termination condition for Still image rendering.

I believe that this change doesn't alter any visible behavior for continuous rendering mode.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants