Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix antimeridian flicker #6438

Merged
merged 4 commits into from
Apr 18, 2018
Merged

fix antimeridian flicker #6438

merged 4 commits into from
Apr 18, 2018

Commits on Apr 18, 2018

  1. Configuration menu
    Copy the full SHA
    db872f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f0b122b View commit details
    Browse the repository at this point in the history
  3. avoid flickering when longitude is wrapped while panning

    When panning cross the antimeridian, the longitude value gets wrapped.
    This results in tileIDs getting assigned a different `wrap` value for
    tiles that cover roughly the same area on the screen.
    
    This pr calculates what this change in wrap values is and updates the
    state of both `SourceCache` and `CrossTileSymbolIndex` so that areas use
    the same tile and symbol state for the same screen areas even if they
    have a different `wrap` value.
    
    I think this is the long term fix for the CrossTileSymbolIndex. For
    SourceCache, it may be better to rework how tiles are retained so that
    you can actually use versions of tiles with a different wrap as tiles in
    the next frame.
    ansis committed Apr 18, 2018
    Configuration menu
    Copy the full SHA
    18ea845 View commit details
    Browse the repository at this point in the history
  4. turn LRUCache into tile-specific TileCache

    LRUCache was only being used for tiles and recently we started adding
    some non-standard behaviour including storing multiple values for a
    single key. This pr:
    
    - replaces `number` key with `OverscaledTileID` so that we can enforce
      the type and enforce tile id wrapping
    - moves expiry logic into cache and gets rid of `cacheTimers` in
      `SourceCache`
    ansis committed Apr 18, 2018
    Configuration menu
    Copy the full SHA
    5882bfe View commit details
    Browse the repository at this point in the history