2017-02-15 158 views
1

是否有任何有关处理mapbox中相当大(5MB)GeoJSON数据集的指导信息?Mapbox性能 - 单独的图层vs setData vs过滤器

我有3-4我需要显示和切换在一张地图上。我最好结合数据源并在图层上使用filter来选择我想要的数据?或者根据需要创建3-4层并显示/隐藏会更好?或者最好是只有一层,并通过图层上的setData提供数据?

回答

1

的这个问题的答案取决于你的性能瓶颈是什么:

  • 如果您瓶颈从工作线程传输数据/使用setFilter将不再需要将数据传输到工作线程。
  • 如果您的瓶颈正在过滤工作线程中的数据,并且您可以更高效地预处理该数据,则使用setData将消除在工作线程上过滤数据的需要。
  • 如果你有大量的可用内存,并需要快速显示/隐藏图层,创建3-4个单独的层和显示/根据需要隐藏将是最好的

您的瓶颈将取决于你的数据,你的使用模式和您的设备。与往常一样,如果perf性能不够好,我建议尽可能简单地进行性能分析&!

+0

感谢信息卢卡斯。请原谅我的懒惰,但我不确定通过将数据传入和传出工作线程是什么意思,因为我没有意识到使用工作线程。你能说一点吗?我对性能瓶颈的印象是,它是客户端渲染,但我不是100%,特别欢迎有关测量和识别mapbox瓶颈的任何提示。 – dougajmcdonald

+0

我有同样的问题,并且想要了解更多关于如何测量瓶颈是将数据传入/传出工作线程还是过滤工作线程内部的更多说明@ lucas-wojciechowski。 @dougajmcdonald我的理解是'mapbox-gl-js'在内部使用工作线程。 – Gregor