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

Image missing callback impacts rendering of other layers #15497

Closed
LukasPaczos opened this issue Aug 27, 2019 · 3 comments · Fixed by #15778 or #15864
Closed

Image missing callback impacts rendering of other layers #15497

LukasPaczos opened this issue Aug 27, 2019 · 3 comments · Fixed by #15778 or #15864
Assignees
Labels
Android Mapbox Maps SDK for Android Core The cross-platform C++ core, aka mbgl

Comments

@LukasPaczos
Copy link
Member

ezgif com-video-to-gif (14)

In the example above there are 3 layers that rely on one geojson source - circle layer and 2 symbol layers. After clicking the button, one of the images that the top layer uses (garbage bin) is removed from the map and starts to trigger the image missing callback which dramatically impacts the rendering of all layers that are based on this source. Other layers and the render thread itself seem to not be impacted as panning and zooming are smooth.

Bisection points to #14320 as well.

/cc @tobrun @ansis @chloekraw

@LukasPaczos LukasPaczos added Android Mapbox Maps SDK for Android Core The cross-platform C++ core, aka mbgl labels Aug 27, 2019
@LukasPaczos
Copy link
Member Author

This can be reproduced on lp-image-missing-impacts-other-layers by running the Simple Map example.

@ansis
Copy link
Contributor

ansis commented Aug 27, 2019

Yeah... hmm. The callback gets fired every time a missing icon is needed. So generally this would happen once per tile load but for examples like this where the location is updated every frame I guess it would call every frame. And calling into the main thread is probably what adds this delay.

The render thread could keep track of which images it's already fired the callback for and skip them I think!

@pozdnyakov
Copy link
Contributor

The fix got reverted at #15852

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