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

问题描述 投票:0回答:1

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

    map
      .getSource('pointsSource')
      .setData(pointsData);

[当我发现我的笔记本电脑进入Turbo模式并使用200%的CPU时,戏剧开始了,而当我不执行.setData()(不更新数据,而仅显示地图)时,它使用25% 。

在任何给定时间,我只更新25分。考虑到与分数无关,而是与我.setData()的执行速度非常快这一事实,我该如何提高性能?我之所以这样想是因为我用1点或10000做过实验,结果是相同的((200%CPU)。]

optimization mapbox-gl-js web-optimization
1个回答
0
投票

我不认为setData应该被如此频繁地调用。如果不需要移动几何图形(仅是属性),则可以改用setFeatureState

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

© www.soinside.com 2019 - 2024. All rights reserved.