Mapbox-gl-js: Raster Flicker

Created on 19 Apr 2016  路  11Comments  路  Source: mapbox/mapbox-gl-js

This is more or less just a question. I have been trying to track down a raster "flickering" that happens whenever the Map is animated using pitch and noticed that there was a previous issue and PR that in theory should have fixed this. Is there a possibility this has been re-introduced by the upgrades to 0.17.0

If there is anything else I need to provide let me know!

mapbox-gl-js version: 0.17.0

Steps to Trigger Behavior

  1. Go to this CodePen here
  2. Click the "Fly In" button
  3. Click the "Fly out" button after animation
  4. You should notice the raster flickering on the top of the map
bug

All 11 comments

I'm not seeing any raster layers in the codepen so I think this is different than https://github.com/mapbox/mapbox-gl-js/issues/2212

Which layers are flickering? lines? fills? text?

Ah, I was wrong in the terminology. My bad :sob:

It appears to be the map tiles (?). I do want to emphasize this is intermittent and best "found" on Chrome. Firefox seems to be quick clean :grimacing: You can de-prioritize this until I can get a consistent or reproducible screen capture for you :disappointed:

Thanks for reporting @dflynn15!

In the name of keeping our issue queue lean and mean, I'm going to close this until we can get a consistent or reproducible screen capture. Please re-open once you have one!

I'm able to reproduce a raster flicker using production mapbox.mapbox-satellite, mapbox-gl 0.18.0, Chrome 50.0.2661.86, on current OSX.

Flicker behavior happens consistently on fly-to events with with pitch 0 and > 0 in this demo, and this screen vid catches the issue (can't get a gif with high enough frame rate) in the upper left after the initial fly-to event.

I'm seeing this as well, and it's pretty jarring.

Seeing this as well, it's not _jarring_ per se, but definitely there - I'm really only seeing it when zooming out.

mapbox-gl-js-satellite-flicker

When parent tile fades over child tile, we retain both through _coveredTiles set, but then we exclude covered tiles so that they鈥檙e not rendered for vector tile sources; however we need to render both for raster tile sources. Not sure at what point this broke, but we need to make logic differences between tile retention for raster tiles and for vector tiles more explicit for a proper fix.

Is the flicker and the fade from black when zooming out the same issue?

Looking at https://github.com/mapbox/mapbox-gl-js/blob/master/js/render/draw_raster.js#L51 it looks like the tile fading will fade from the parent tile if it exists but doesn't fade from the child tiles when zooming out. It seems like the fix is to include the 4 child tiles if they exist in the fade.

Any movement on this?

Not yet @scottgerring. We will be sure to hit this before our February release.

Was this page helpful?
0 / 5 - 0 ratings