如何在leafletjs地图上获得最佳性能?我应该使用256像素还是64像素的图块,有什么区别?

问题描述 投票:0回答:1

我正在自定义地图(游戏世界地图)上使用leafletjs。这是一个10240像素的图像,我对其进行了正确的设置,但是在缩放和导航时,我注意到有些滞后的行为。我的图块已通过自动Photoshop脚本正确剪切,并且图块文件的大小也得到了优化。

[当前,我的tileize是leafletjs中的默认设置(256像素)。但是我想知道使用64px的图块会提高还是降低性能?什么时候应该使用64px的图块,什么时候应该使用256px或512px的图块?

我找不到一个满足我对这个话题的好奇心的特定答案。我希望有人能为我解决这个问题。祝福!

leaflet tiles
1个回答
0
投票

欢迎您!! >>

不幸的是,这是一个性能优化主题,没有适合所有人的答案。这类似于捆绑资产(CSS,JS)甚至在HTML网页中内联资产的问题。

基本思想是减少向访问者显示有意义的信息所需的时间(有些人称为“第一幅画”,尽管在交互式映射的情况下,您意识到这也包括在导航时)。

较小(但更多)的文件有助于避免加载不必要的数据。对于贴图,较小的图块意味着较少的额外数据(视口外部的图块的一部分),并且在Leaflet的情况下,更快地显示整个图块(因为Leaflet不显示部分图块,而是等待图块完全加载才能显示它) )。

更大(或更小)的文件有助于减少网络请求的数量(通常,浏览器默认将同时请求限制为每个域2个)和相关的开销(在数据和时间方面)。

[仅涉及地图图块时,可能会有一个粗略而简单的规则:图块越详细,越重,它们应该越小。但是像往常一样,仍然需要尝试不同的设置。

关于同时请求的数量限制,“简单”的技巧(如果可以在服务器端实现)是使用多个子域(仍然可以指向完全相同的服务器文件)。

© www.soinside.com 2019 - 2024. All rights reserved.