Hi,
We're recently switched from FeatureLayers applyEdits to Client-side StreamLayer in our application and have had some performance issues since. The problems seem to be related to the updates triggered by the updateInterval of the StreamLayer. These updates seem to be triggered even thought
- The Layer is empty
- No messages have been sent to the layer
These updates trigger quite a lot of GPU usage on low end hardware (up to 70-100%) on integreated graphic cards. The result is a constant high GPU usage.
We tried mitigating this in the following way
- calling layerview.pause() on init
- resume() on the data-received event
- pause again once layerView.updating is false
This works fine on Mapview, but Sceneview seem to be stuck in an endless update (update is always true).
We also tried calling layer.refresh on data-received. This works on MapView, but the layer is not refreshed in Sceneview. Refresh is called, but it seem to get stuck on _debounceHasDataChanged.
We'de idealy like to trigger a debounced update of the layer only when data has actually been received (the data-received event)
Attached is two identical stackbliz projects. One with Mapview and one with Sceneview. I've also added a video showing the dev console for both projects, to showcase that the update events aren't triggered in the Sceneview.
MapView
Sceneview
Video showcasing perfomance problems on an empty streamlayer. i5, 8BG RAM integrated Intel graphics.
Thank you and best regards,
Emil