FAQ: How can ArcMap symbology performance be improved and maintained?
How can ArcMap symbology performance be improved and maintained?
A good level of display performance can be maintained by showing a comparison of display times for various symbols. Symbol display time affects refresh times of the ArcMap application, and also has a major impact on map export and rendering of images produced by ArcGIS Server and ArcIMS ArcMap Server.
This includes design considerations for creating symbols that help maintain a better level of display performance, especially when using larger datasets. Complex multi-layer symbols have a significant impact on the performance of map draw, export, and server image render. This is especially true for certain types of symbols, including those composed of pictures and gradients. When combined with each other or used for outlining fill symbols, complex cartographic lines, hash symbols, and marker lines have a substantial impact on redraw, each time a change is made that triggers a refresh.
The information provided explores the three main categories of symbols: fill, line, and marker; and shows the time for drawing each as layers when added and the optional parameters are changed.
Marker symbols, whether used to symbolize points or as a component of one of the other types of symbols, are the easiest type of symbol to manage for maintaining a good level of performance. Adding a mask (halo) is the biggest culprit, when it comes to reducing the draw time for point feature datasets. This is closely followed by the bitmap-based picture marker symbol. The graph below represents the draw time in seconds for a single layer document, where a shapefile that contains 26,400 point features is displayed in data view.
As the above graph illustrates, adding a mask to the point symbol increases the amount of time required to display the layer by as much as 22,000%. Depending upon the data, its location, the computer processor speed, etc., it can take several minutes for a single set of point features to draw each time the display is refreshed.
A good alternative to adding the mask to either a character or simple marker is to create an EMF file that represents the symbol, and using a picture marker symbol that displays the contents of the EMF file.
Line symbols can be somewhat more problematic when it comes to keeping their performance at respectable levels, while getting the detail of cartographic representation needed for the map. Utilizing simple line symbols is the easiest way to ensure performance when drawing linear features; however, these offer few options for diverse symbology other than thickness and color.
Cartographic lines, by far the most used line symbol, can get relatively sluggish as more options are added. The graph below illustrates this effect, and shows how some of the common options can slow down the draw time for linear features. This graph represents 106,400 line features from a shapefile drawn as a single map layer.
Adding a pattern template to produce a dashed line, more than doubles the draw time over a solid cartographic line symbol. Add an offset value of 8 points, and the time to refresh the layer doubles yet again. Increase the width to five points, and the draw time more than doubles. When it comes to line symbols, the fewer options that are used; the faster the display times.
Another point of interest for line symbols, and this is also true for the other types of symbols as well, is that combining symbol types into a multi-layer symbol slows things down. This is due to the fact that the rendering of the dataset must be cycled through once for each layer type. Combine a cartographic and hash line symbol, as is done in a basic railroad-style line symbol, and the data is drawn once for the cartographic symbol and again for the hash symbol.
One of the best options for maintaining good polygon draw performance is to ensure that fill symbols use a simple line symbol as the outline whenever possible. As displayed in the graph below, changing the outline for a simple fill symbol from a simple line to a cartographic line symbol increases the draw time by 500%. As long as the outlines require only a solid line as the boundary, the simple line symbol is definitely the option to use. This graph represents a shapefile containing 75,000 polygon features being drawn as a single map layer.
EMF files are often a superior format for defining picture fill symbols. When the fill symbol has only one color, EMF files provide better performance than BMP format files. However, when a symbol has two or more colors, BMP is the best performing format.
The ESRI_Optimized style and serverstyle, released at ArcGIS 9.2, incorporates many of these suggestions for both line and fill symbols. Consider using this style as an alternative to the line and fill symbols found in the default ESRI style or serverstyle.