Skip to content

Raster tile loading blocking UI, FPS < 2.0 #6643

@hyperknot

Description

@hyperknot

mapbox-gl-js version: 0.45.0
browser: Chrome 66 / macOS

  1. On an empty style, add a raster tile layer, especially with smaller tile sizes, like "fake-retina" 256 pixels as 128.
  2. Zoom around the map or use flyTo animations
  3. Things can get really choppy.

Link to Demonstration

(I tested using Chrome FPS meter)
example: https://zl761nnr3m.codesandbox.io/
code: https://codesandbox.io/s/zl761nnr3m

Expected Behavior

UI interactions should be smooth, independent of tile loadings in the background.

Actual Behavior

The UX is really bad with raster layers now. Chrome FPS meter regularly gets under 2.0 fps on my Macbook Pro.

I've almost finished porting a big codebase over to Mapbox GL viewer, but this one is puzzling me. Both Leaflet and OpenLayers can display raster maps at constant 58+ FPS. How is it possible that Mapbox GL can render the most complicated vector tile regions smoothly, but is breaking with simple raster tiles?

Metadata

Metadata

Assignees

Labels

performance ⚡Speed, stability, CPU usage, memory usage, or power usage

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions