Tuesday, May 06, 2008 3:45 PM -
cfrye
Tips for getting better map drawing performance
If you're making a map that is either a large format print map or a map that will be served via ArcGIS Server, squeezing every bit of wasted time out of drawing performance is critical. Don't get tired of sitting there drinking extra cups of coffee watching the word "Drawing", all your layer names, and that little blue globe. If you're finding it stressful to explain when updates will be coming, or the timing for caching the map you are serving, or your map services generate complaints about poor performance, then try the two tips in this entry.
There are lots of obvious tips to improve drawing performance in the ArcGIS Help system, but I've got two tips that are not there and do make a big difference: first, once your map is set up, create attribute indexes; second, simplify the data that is being labeled (that means you'll be labeling a different layer than what you use to draw the symbolized geometry on your map).
Tip 1: Attribute Indexes
If you use an attribute to symbolize your data, e.g., the field you've specified for unique values, or the population field on census block group polygons, adding an index to the feature class for that field will boost your drawing performance. The same goes for your label fields. There is a topic in the online help called Creating attribute indexes that explains how to create attribute indexes and explains which options to use based on the nature of the information contained in the field you are indexing.
Tip 2: Simplified data for labeling
For line and polygon data, labeling performance is affected by the quantity of information that is fed into the labeling engine. Whether you're using the Standard or Maplex labeling engine doesn't matter. The label engine will work if you're sending it millions of vertices, but you'll experience a performance penalty for having to read and ingest so much data. The main idea is to use either the Simplify Line or Simplify Polygon tool to reduce the number of vertices, without fundamentally changing the shape of your geometry at your map's scale.
If you can see the vertices in your data as you draw, don't worry about doing this, but if you can zoom in on your data and continue to see more detail as you zoom, then definitely consider simplifying your data for your labels.
These tools have two methods, Point Remove (Douglas-Peucker algorithm) and Bend Simplify. Point remove is generally better for data like roads, contours, and boundaries because it will not introduce new points. Bend Simplify works better for rivers, streams, and natural features like soils and vegetation. Remember the purpose is not to fundamentally change the shape of the feature--after all the label needs to associate well with the unsimplified version of the feature that is symbolized on your map.
To the right is the table of contents from a map I've been working on recently that uses this tip. My layer names contain the substring "Lab" in the cases where I am just labeling simplified features. The map works at multiple scales and each scale is also noted in the layer's name.
Last, we have been adding tips like these to the online help for ArcGIS 9.3--where those of you who are beta sites can find them now.