deck.gl icon indicating copy to clipboard operation
deck.gl copied to clipboard

Layers flickering/disappearing on iOS

Open mariandaniel24 opened this issue 3 years ago • 1 comments

Description

I'm currently using an IconLayer (with custom svg) and a PathLayer, these are basically some markers that represent a vehicle, while the PathLayer draws the route.

This seems to work great on Windows/OSX/Android, however, there are some rendering issues on iPhone (IOS 15.0), these issues are different based on the version of deck.gl:

  • 8.5.8 - both layers flicker when there's data changes happening
  • 8.6 - IconLayer does not appear at all (there is no flickering)

One more interesting thing, when I change the PathLayer to be drawn on top of IconLayer, it works properly, but it's not the behaviour that we want.

I expect the layers to work exactly like on the rest of devices, without any flickering.

Repro Steps

I extracted this codepen from our application.

  1. Open codepen link on an iPhone
  2. Wait a couple of seconds until data is updated (there's a timer that updates to random coordinates every 5 seconds)
  3. Notice error

This codepen uses deck.gl version 8.5.8, you can change the script to use the latest version https://cdn.jsdelivr.net/npm/deck.gl@latest/dist.min.js so you can see the difference.

Environment

  • Framework Version: deck.gl 8.5.8 / deck.gl 8.6
  • Browser Version: Safari 15
  • OS: iOS 15.0

Logs

mariandaniel24 avatar Oct 26 '21 16:10 mariandaniel24

The issue seems to go away if you disable transitions. WebGL2 support is new in iOS Safari 15 and there might be issues in its implementation.

Update: the feature works as expected in desktop Safari 15.0

Pessimistress avatar Oct 26 '21 17:10 Pessimistress