О и еще проблемка! Когда про канвас зашла речь, вспомнил. В ol так же есть пример рендеринга слоев в параллельном потоке. Так вот в том примере вроде все круто. Создаем слой в основном треде, в функции render этого слоя обращаемся к воркеру и внутри него в OffscreenCanvas рисуем скажем тайлы. Но самая большая проблема, что в примере такого рендеринга на ol exmaples, мы создаем два канваса. И это очень большая проблема. Ведь мы же можем рендерить и другие слои в главном потоке и тогда у нас будет происходить отрисовка одновременно в двух канвас, что сломает нам перформанс. Как вариант опять же нужно форкать проект и править рендеинг таким образом, чтобы использовался один и тот же канвас для этих дух отрисовок.
С добавлением и модификацией фич (объектов векторного слоя имею ввиду) в ol конечно все в порядке. Но только нет удобной тулзы для вращения фич и их удаления. В графическом векторном редакторе, который я реализовывал, например, удаление и выделение объектов по клику пришлось делать костюмно. Второй недостаток (если его конечно на текущий момент времени не пофиксили) - это отсутствие возможности применять стили к подписям в так называемом WebGL слое. Это слой позволяет рендерить большое количество объектов, но по их стилизации у нас руки сильно связаны( Только если форкать проект и имплементировать эту возможность.
Хочу отметить, на слайде с leaflet используется L.CanvasMarkers, это вроде как нестандартный функционал, устанавливается через npm, без него иконки маркеров отрендерятся в html
Интересно, почему не рассмотрели WebGL слои для остановок в openlayers. Например WebGL points layer. Я отрисовывал таким способом около 20к иконок со своими стилями и проблем с перформансом вообще не было.
О и еще проблемка! Когда про канвас зашла речь, вспомнил. В ol так же есть пример рендеринга слоев в параллельном потоке. Так вот в том примере вроде все круто. Создаем слой в основном треде, в функции render этого слоя обращаемся к воркеру и внутри него в OffscreenCanvas рисуем скажем тайлы. Но самая большая проблема, что в примере такого рендеринга на ol exmaples, мы создаем два канваса. И это очень большая проблема. Ведь мы же можем рендерить и другие слои в главном потоке и тогда у нас будет происходить отрисовка одновременно в двух канвас, что сломает нам перформанс. Как вариант опять же нужно форкать проект и править рендеинг таким образом, чтобы использовался один и тот же канвас для этих дух отрисовок.
С добавлением и модификацией фич (объектов векторного слоя имею ввиду) в ol конечно все в порядке. Но только нет удобной тулзы для вращения фич и их удаления. В графическом векторном редакторе, который я реализовывал, например, удаление и выделение объектов по клику пришлось делать костюмно. Второй недостаток (если его конечно на текущий момент времени не пофиксили) - это отсутствие возможности применять стили к подписям в так называемом WebGL слое. Это слой позволяет рендерить большое количество объектов, но по их стилизации у нас руки сильно связаны( Только если форкать проект и имплементировать эту возможность.
Хочу отметить, на слайде с leaflet используется L.CanvasMarkers, это вроде как нестандартный функционал, устанавливается через npm, без него иконки маркеров отрендерятся в html
Интересно, почему не рассмотрели WebGL слои для остановок в openlayers. Например WebGL points layer. Я отрисовывал таким способом около 20к иконок со своими стилями и проблем с перформансом вообще не было.
Да вот в этом все мы.. каким это чудом работает, хехехе. Ну не плохо, чувак с вопросом про бабку в теме