Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My mxd currently has 5 buildings layers accessing 5 different buildings datasets (one for each of 5 counties). Most often there would only be a single county's buildings in the current view, if that matters. Assuming there is nothing else causing speed issues, would my mxd likely draw faster (or worse) if I combined the 5 datasets into a single buildings dataset? And if it does, what would be providing the speed increase? Having less layers to display, or having to access fewer datasets?


I appreciate the input on asking whether the data is local or on a network, what data type it is, etc. However, I am more interested in whether there is a significant cost associated with the number of layers in the mxd (such as the map having to iterate through each layer when drawing), whether there is a significant cost associated with the number of separate datasets accessed, and whether one cost is typically more costly than the other. I'm pretty sure that the cost of accessing multiple shapefiles is greater than the cost of accessing the same data as file gdb feature classes, but how do those compare to the cost of rendering layers? I was hoping that someone knowledgeable of the inner workings of ArcMap/ArcEngine would know how these two variables effect map drawing performance.

*All of the data is stored in file geodatabases on the local machine. Currently the building datasets are in 5 separate file gdbs, but I plan to move them all to the same gdb soon.

share|improve this question
What format is the data stored in? Shapefiles, file geodatabase, personal geodatabase, enterprise SDE...? – Chad Cooper Feb 28 '12 at 1:52
You could always try both ways and check the performance timings using mxdperfstat (that may also highlight other performance issues)… – PolyGeo Feb 28 '12 at 4:00
If you've deleted buildings, the IGeodataset.Extent might be larger than necessary, resulting in the file being opened when ILayer.Draw is called. You might want to make sure the extent matches the data present in the featureclass using [IFeatureClassManage.UpdateExtent] (…). (Probably something in Arctoolbox that does this too.) – Kirk Kuykendall Feb 28 '12 at 15:03

I am under the impression that the data source type matters more than the number of datasets: features stored in a file geodatabase will render quicker than shapefiles because of spatial indexing.


In a direct answer to your question I don't believe the number of layers matters as much in the desktop environment. I've seen articles about ArcGIS Server optimization which indicate number of layers affecting server performance, but from my experience as well this doesn't affect the desktop environment as much as so many other factors, such as the geometric complexity and type of datasets. The ESRI Streetmap dataset is a good example, where there are literally hundreds of layers but drawing lag is mostly related to the type and complexity of features at different scales, not the number of features.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.