-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Labels flicker at high zoom, especially for pitched map views #9820
Comments
An overzoomed tile has a lot more line labels than normal because they're generated for the whole tile even though the viewport is only showing a small portion of the tile. But that shouldn't slow down If the filtering is working well, the next place I'd look is to see if you're running into a variant of mapbox/mapbox-gl-js#5112. Although that bug was about the rendering being incorrect, it wouldn't be too surprising if the
/cc @ansis |
The flickering might be #7026. |
Thanks for background @ChrisLoer. I've run a few time profiles, and don't see anything jump out yet.
The result of this is that at the end of a zoom animation (using double tap, for example), the second to last frame is drawn without symbols, and the last frame takes longer to be prepared and reprojected before is is rendered. While there is some similarity to #7026, on the over-zoomed tiles, there are no new tiles being requested in this case. It boils down to the placement taking too long and one or more frames being rendered while symbols are still being placed. From printf statements (in debug, so numbers are bigger), when zoooming from z19 to z20 in a section of downtown Chicago (Tile 16/16816/24356):
What needs investigation is whether we can keep around previous over-zoomed tile and render it while the next zoom level tile is still being placed. |
We should fix this with #10103, or at least change the problems we have. |
Fixed with #10436: placement is now tied to the viewport, so overzooming doesn't make placement significantly more expensive (there are still some extra costs). Also, the tile loading/rendering architecture has changed so that pathologically slow placement won't cause flicker (instead, it would cause very slow frame rates). |
The flicker/blink is more pronounced on pitched views.
When zooming in beyond z18, labels take >500ms to re-appear in some cases.
The trace shows symbol re-projection taking very long on the over-zoomed tile.
/cc @ChrisLoer
The text was updated successfully, but these errors were encountered: