deck.gl
deck.gl copied to clipboard
Layers flickering/disappearing on iOS
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.
- Open codepen link on an iPhone
- Wait a couple of seconds until data is updated (there's a timer that updates to random coordinates every 5 seconds)
- 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
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