Hi,
RE: GDB Performance:
The File GDB generally offers excellent performance, particularly for larger datasets. As a side note - when creating Map Packages, if you choose not to reference the data (the default option) the packaging process will convert all your datasources to a File GDB anyway. To leave your data in it's original format, you should choose to reference the data.
My first suggestion would be to look at what user interaction is required with your 11 layers (highway exits, institutions, landmarks, highways, railroad, streams, streets, parks, water, counties, and cities). If any of these are relatively static layers and could constitute a more seamless basemap then you should consider creating a map to specifically use as a basemap and generate a Tile Package (TPK) from that map. Then, layers which a more dynamic and need to be dunamically rendered on each pan/zoom or are required to support user interaction (identify, query, editing) should be added to a separate map which is saved as a Map Package. The 55 seconds, which sounds a long time) is actually just the initial local map service initialization time and it's possible to spin up these local services behind the scenes and add them to the map when ready.
The following code, which you could put in the window constructor, will asynchronously kick off the LocalMapService initialization then once the service startup is complete the Action will execute which in this example creates a new LocalArcGISDynamicMapServiceLayer based on that LocalMapService and inserts it into the map (note the path below is relative to my app executable):
LocalMapService.GetServiceAsync(@"Maps_and_Data\OperationalLayers.mpk", (localMapService) =>
{
LocalArcGISDynamicMapServiceLayer localArcGISDynamicMapServiceLayer = new LocalArcGISDynamicMapServiceLayer()
{
Path = localMapService.Path,
ID = "SpecialEventPlanning",
ImageFormat = ArcGISDynamicMapServiceLayer.RestImageFormat.PNG32,
PanBuffer = PanBufferSize.Medium
};
MapControl.Layers.Insert(1, localArcGISDynamicMapServiceLayer);
RE: Query Performance:
I would expect it to be significantly faster than 40 seconds - do you have attribute indexes built on the fields that you are searching? Could you consider building an ArcGIS Locator for searching for street locations?
RE: Specs:
- Single CPU - is that multi core or single core? (You'll get more benefit from processors with multiple-cores / Hyper-threading, as well as multiple processors).
- 1 GB RAM - do you know how much free memory you'll have after the OS and other business apps are taken into account?
Cheers
Mike