每隔50毫秒,我会收到来自服务器的更新,然后更新Mapbox GL JS中的点数据,如下所示:
map
.getSource('pointsSource')
.setData(pointsData);
[当我发现我的笔记本电脑进入Turbo模式并使用200%的CPU时,戏剧开始了,而当我不执行.setData()
(不更新数据,而仅显示地图)时,它使用25% 。
在任何给定时间,我只更新25分。考虑到与分数无关,而是与我.setData()
的执行速度非常快这一事实,我该如何提高性能?我之所以这样想是因为我用1点或10000做过实验,结果是相同的((200%CPU)。]
我不认为setData
应该被如此频繁地调用。如果不需要移动几何图形(仅是属性),则可以改用setFeatureState
。
或者,至少要停止锁定窗口,可以在调用idle
之前等待setData()
事件。