Optimization Mapbox GL JS.setData()循环性能优化

Optimization Mapbox GL JS.setData()循环性能优化,optimization,mapbox-gl-js,web-optimization,Optimization,Mapbox Gl Js,Web Optimization,每隔50毫秒,我会收到来自服务器的更新,然后我会更新Mapbox GL JS中的点数据,如下所示: map .getSource('pointsSource') .setData(pointsData); 当我发现我的笔记本电脑处于turbo模式并使用200%的CPU时,这场闹剧就开始了,而在我不使用.setData()(不更新数据,只显示地图)的情况下,它使用25%的CPU工作。 在任何时候,我只更新25点。考虑到性能与点数无关,而是与调用.setData()

每隔50毫秒,我会收到来自服务器的更新,然后我会更新Mapbox GL JS中的点数据,如下所示:

    map
      .getSource('pointsSource')
      .setData(pointsData);
当我发现我的笔记本电脑处于turbo模式并使用200%的CPU时,这场闹剧就开始了,而在我不使用
.setData()
(不更新数据,只显示地图)的情况下,它使用25%的CPU工作。


在任何时候,我只更新25点。考虑到性能与点数无关,而是与调用
.setData()
的速度非常快这一事实有关,如何提高性能?我这样想是因为我用1点或10000进行了实验,结果是相同的(200%CPU)。

我不认为
设置数据
会被如此频繁地调用。如果不需要移动几何体(仅需属性),则可以使用
setFeatureState

或者,至少要停止窗口锁定,您可以在调用
setData()
之前等待
idle
事件