There are several things that can be done to make Mango run more quickly for end users:
Warm Up the Cache
Turning your data into map tiles (the small square images that make up your map) can occasionally be slow for very detailed maps. Mango uses a tile cache system that means we will only transform your data for a specific zoom level and location once, after that we store the tile in our cache so that next time it’s viewed we simply retrieve it from our file system rather than draw it again. Retrieving files from our CDN cache system is much faster than calculating and drawing new tiles. This means that the more your map is used, the faster it will get because more of the tiles will be already stored in the cache rather than being drawn for the first time.
You can take some time to use your map zooming and panning to areas of interest in order to “warm up the cache” before you release it to end users if you are conscious of performance.
Maps are Faster for End Users and Slower for the Map Administrator
When you view the map as the administrator the maps are slower than when they are viewed by anyone you share the map with. Firstly, due to the administration panel and all associated tools add overhead to the page. Secondly, as an administrator it’s likely you will make regular changes to the map, so it’s not sensible to cache tiles which may only exist for a few minutes before feature symbology style is updated, or layer groups created or altered. We generate fresh map tiles every time you make changes to your map to reflect your settings.
End users of the map who aren’t signed in to Mango see an interface that doesn’t have the extra data of the administration panel, and also all the data they see is retrieved from the cache – assuming it’s already been viewed previously by at least one other user. The worldwide content delivery network used by Mango has endpoints across the globe, making map load time fast for users everywhere.
Don’t Have a Large Number of Group Layers Turned on by Default
Most maps are made by stacking layers on top of each other. In Mango we have the concept of group layers, a group layer can contain many layers, but will only produce one image that it a composite of all of the layers in the group layer.
Grouping layers also reducing the overhead for loading maps. By putting your data layers into groups, you can minimize the overall size of your map. Each layer within a Layer Group is combined into a single layer and served to the map viewer. To learn more, see the chapter on Layer Groups.
Grouping layers by type or theme means users can easily turn whole classes of data on and off in the legend.
Understanding how webmaps work
Mango displays maps as a layer of continuous tiled images – one set of tiles for each group layer, at every zoom level, covering the full extents of your data.
Each tile is 256px x 256px, and around 15KB in size – regardless of how many layers each tile contains. A normal screen requires around 24 tiles to cover the browser – meaning around 360KB of data needs to be downloaded per layer group.
Mango loads only tiles currently visible, given the user’s display size and resolution, with a small buffer for tiles around the edge. As you pan and zoom around the map, your browser is sent the new tiles for the visible area.
If we have a map with six layers all in one layer group, only one layer of tiles is rendered.
If, however, we have two layer groups and put three layers in each group layer, the system will now draw two layers of tiles and stack them on top of each other so instead of downloading 360KB of data, we now need to download about 720KB.
This increases with each new group layer. 3 group layers means around 1MB; 10 group layers, 3.6MB.
As you can see, it’s quite easy to end up with a very ‘heavy’ map.
If your users aren’t using fast a internet connection, we don’t recommend having any more than three group layers turned on by default. If you do require more than three, then it’s best to set some to turned off by default in the Layers panel. This way the map loads essential ‘first view’ layers, and non-essential layers are download as the user turns them on in the legend.
Avoid using Clustered Pushpins or Mouse Highlight tools on Layers with Many Features
We don’t recommend using the clustered pushpin feature or the mouse over to highlight feature for any layers that have more than 10,000 features. The calculations to place these items and draw the highlights is done by the user's browser rather than our servers, and layers with more features than this could cause the user's browser to become slow.