Узкое место в производительности с тысячами маркеров (даже с кластеризацией) - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть карта, которая подает данные маркеров из Алголии, с максимумом 1000 обращений за раз, ограниченных пределами текущей карты. Маркеры являются кумулятивными, поэтому при перемещении / увеличении масштаба карты количество маркеров будет продолжать расти.

Вот рабочий пример: https://codepen.io/timkelty/pen/mdJEXXE

Если вы немного переместитесь, это быстро станет непригодным из-за задержки рендеринга.

Я использую http://leaflet.github.io/Leaflet.markercluster/ для кластеризации.

Итак ... Я ' Я пытаюсь диагностировать, где находится узкое место. Я знаю, что Leaflet / Leaflet.markercluster может обрабатывать количество маркеров, потому что это перестроение чего-то изначально сделанного без React.

Вы можете увидеть это здесь: https://paddling.com/paddle/locations Вы заметите, что можете передвигаться намного лучше, не увязая. Настройки кластеризации такие же, как и у входных данных маркера.

Сначала производительность была действительно плохая (вроде вообще не рендерилась) ... так как я отслеживал markers в состоянии , Как только я понял, что в этом нет необходимости, производительность улучшилась, но она все еще не очень полезна и далека от не-React версии.

Любая помощь очень ценится!

...