Как добиться максимальной производительности на листе js карт? В чем разница между плитками размером 256 или 64 пикселя? - PullRequest
1 голос
/ 06 апреля 2020

Я использую буклет js на пользовательской карте (карте игрового мира). Это изображение размером 10240 пикселей, и я его правильно настроил, но при масштабировании и навигации я замечаю немного запаздывающее поведение. Мои листы правильно обрезаются с помощью автоматического скрипта Photoshop, и размеры файлов плиток также оптимизируются.

В настоящее время размер листов является значением по умолчанию в листовке js (256 пикселей). Но мне интересно, если бы использование плиток 64px улучшило или ухудшило производительность? Когда следует использовать плитки размером 64 пикселя, и когда следует использовать плитки размером 256 или 512 пикселей?

Я не смог найти конкретный ответ, который бы удовлетворил мое любопытство по поводу этой топи c. И я надеюсь, что кто-то может немного прояснить это для меня. Благословения!

1 Ответ

0 голосов
/ 06 апреля 2020

Добро пожаловать в SO!

Это топи оптимизации производительности c, который, к сожалению, не имеет универсального ответа. Это похоже на вопрос объединения активов (CSS, JS) или даже встраивания их в веб-страницу HTML.

Основная идея состоит в том, чтобы уменьшить время, необходимое для отображения значимой информации для посетителя (некоторые называют «первая закраска», хотя в случае интерактивного отображения, как вы поняли, это также относится и к навигации).

Меньшие (но больше) файлы помогают избежать загрузки ненужных данных. Для отображения меньшие плитки означают меньшее количество дополнительных данных (часть плиток вне области просмотра), а также в случае Leaflet, более быстрое отображение целых плиток (поскольку Leaflet не отображает частичные плитки, но ожидает полной загрузки плитки, чтобы отобразить ее ).

Большие (и меньшие) файлы помогают уменьшить количество сетевых запросов (обычно браузеры ограничивают одновременные запросы до 2 на домен по умолчанию) и связанные с ними издержки (как с точки зрения данных, так и времени).

Когда речь идет только о плитках карты, может быть грубое и простое правило: чем более подробны и тяжелы ваши плитки, тем меньше они должны быть. Но, как всегда, экспериментировать с различными настройками все еще необходимо.

Что касается ограничения количества одновременных запросов, то «простой» трюк, если вы можете реализовать его на стороне сервера, заключается в использовании нескольких поддоменов (что все еще может указывать на те же файлы сервера).

...