map package slow to load

2925
2
10-05-2012 12:06 PM
Labels (1)
FrancoisGilbert
New Contributor
Hello,


Why the reading of a map package is so slow compared to the load of a map pulished on a server. Is the decompression of a map package the reason why it takes longer. Can we produce a map package that is not compressed and load it with ArcGis Runtime to make things faster.

Regards
0 Kudos
2 Replies
MichaelBranscomb
Esri Frequent Contributor
Hi,

The Map Package (.MPK) file is compressed but it's only unpacked the first time it is accessed via a LocalMapService. After that, the LocalMapService will be using the previously unpacked MPK contents from disk (at V1.0 it's in your user profile under Documents\ArcGIS). Each time the LocalMapService starts it does still check whether the MPK file is more recent that the contents of the existing unpacked package.

Therefore, usually the only activity which can take a noticeable amount of time when you start the application is the LocalMapService startup. It is recommended that you do this as part of your application startup (e.g. whilst a splash screen is displayed or perhaps whilst the user is logging in or performing some other activity so that the LocalMapService (and the ArcGISLocalDynamicMapServiceLayer it supports) is ready as soon as the user is ready to begin interacting with that content. This will mean creating and starting these services in code rather than defining everything in XAML, but we did want to support both use cases.


Cheers

Mike
0 Kudos
FrancoisGilbert
New Contributor
Hello,

Following your answer, I am thinking about building a separate dll or exe that will start the local dynamic map service when the machine boot or when the map package is replaced. When the map package is replaced, I will need to keep the same name, stop the service and restart. Then my main map application will connect to the map service that is aleady running throught this dll. This would make things really fast.

This type of solution is probably built in the arcgis server and if I want to go with the server solution later, I suppose the work that I want to do will be obsolete. What do you think. Is there a software that already manages this on the client side.

François
0 Kudos