Layer, data, map, and project settings are available that can affect performance when accessing data. The following sections provide context for setting adjustments and how they affect data access workflows in ArcGIS Pro.
Data configuration
Before anyone adds layers to the map, the data owner can configure the source data to improve query performance.
Indexes
Indexes on your data allow the underlying data source to retrieve data efficiently.
When you create data in a database or geodatabase, consider which fields to include in the predicate filter in where clauses sent from ArcGIS Pro. For example, these where clauses may come from definition queries you apply to layers, from the subtype field used in subtype group layers, from the field used as a key field in a join to another layer, or even as the field used for symbolizing a layer. Ensure that attribute indexes are applied to these fields. For spatial data, ensure that spatial indexes exist on these datasets.
Spatial references
When possible, store all data in the same spatial reference. When data from different spatial references is added to the same map, data must be projected on the fly. There is a performance cost to projecting data on the fly. The magnitude of the cost depends on the complexity of the data and the volume of the data being projected.
Web feature layer data sources reproject the data on the server where the underlying feature service is running. This adds to server processing and increases overall CPU usage.
Feature bins
If you have a point feature class that contains tens of thousands of points or more, and it is stored in a relational database (including enterprise geodatabases) or cloud data warehouse, enable feature binning on the feature class. This allows the data source to aggregate the points into polygons called bins. When you add the feature class to or navigate through the feature class in a map in ArcGIS Pro, it takes less time to draw the bins than it would to draw all the points.
Tip:
You can also configure a map in ArcGIS Pro to aggregate point features into bins. This is supported for feature classes that do not have feature binning enabled and for point data from other data sources. In this scenario, aggregation happens on the ArcGIS Pro machine. Bins generated by ArcGIS Pro render more quickly than drawing all the points, but do not render as quickly as bins generated by the data source. See Aggregate features into bins for more information.
Map and layer authoring
When you create a map in ArcGIS Pro, you can configure map and layer settings that help optimize query and drawing performance.
Visible scale ranges
Limiting the scales at which layers draw is one of the most effective methods to help avoid unnecessary querying in a map. When you limit layer visibility to appropriate scales, it reduces queries to request large volumes of data, resulting in less strain on servers and faster performance. This recommendation applies to all layers as well as the labels for those layers. See Author a multiscale map for instructions.
Labels
In ArcGIS Pro, labeling refers specifically to the process of automatically generating and placing descriptive text for features in maps and scenes. A label is a piece of text on the map that is dynamically placed. The text string is derived from one or more feature attributes. Labeling is a fast way to add text to a map because you don't add text for each feature manually. This is useful if the data is expected to change or you are creating maps at different scales.
Ensure that labels are authored to scale and perform well. When working with multiple label classes in a map, the summary reporting capabilities in ArcGIS Pro allow you to identify issues with labels that may cause performance issues. To learn more about summary reporting capabilities see, Use the Labeling Summary report.
When authoring labels, set visible scale ranges to ensure that the map isn't trying to draw too many labels at a small scale. If you are using graphic text, consider using geodatabase annotation if storing more than a few hundred pieces of text.
Use feature weights sparingly. Feature weights set to any value other than None can dramatically slow the labeling speed, because the label engine must evaluate the location of every feature before placing each label.
Point, annotation, and dimension features are less complex, so feature weights may have less impact on labelling performance, but that depends on how many features are in the feature class.
Pop-ups
Pop-up functionality is built into the Explore tool, which is the primary tool for common navigation commands in ArcGIS Pro. When displaying feature layers in a map or scene, you can open a pop-up to view attribute information about a feature without making or modifying a selection.
You can customize pop-ups to fit specific workflows to present curated and relevant information when a feature is clicked. Data that is not included in the pop-up is not loaded into ArcGIS Pro, which can decrease the amount of time it takes to view the attributes over other methods, such as opening the Attribute pane or opening the table for the layer.
When you customize pop-ups, the following elements can have performance and scalability implications.
- Fields—You can choose how many fields to display and you can include statistics for related numeric fields. As more fields are returned, the query response volume is larger for each pop-up. When authoring the pop-up, carefully consider which fields are needed for the workflow and exclude fields that are not needed. To return statistics for fields, a separate query is required to the data source. Only include statistics on related records if users require them.
- Attachments—Attachments can be returned in the pop-up as a list of files or as thumbnail images in the case of image data. When viewed as a list, the impact on data access requests is low because metadata is used to provide the pop-up with information for the list. However, if you open the attachment or view attachment thumbnails in ArcGIS Pro, the attachment data is queried.
- ArcGIS Arcade—When you use Arcade to customize pop-ups, you can use FeatureSets that return information for display in the pop-up. Review the Performance and Popupsinformation for FeatureSets in the Arcade documentation to learn more about the use of FeatureSets in Arcade expressions.
MapTips
MapTips provide information, such as attributes or a display expression, when you position the pointer on a feature, surface, or raster image. MapTips are a layer property setting and do not require you to use pop-ups or the Attributes pane, giving you direct access to display field information.
When MapTips are enabled, many queries are required to provide the information contained in the MapTips. When you hover the cursor over a feature, a query is submitted to retrieve the value for the layer's display field. This occurs for the first four layers listed in drawing order each time you hover the cursor over features in the map. This can cause excessive load on the data storage tier, resulting in slower performance in ArcGIS Pro. It is recommended that you disable MapTips when you do not need quick access to the display field as part of your workflow.
Filters
Filters in ArcGIS Pro help focus the map contents to operate on the data needed for your workflow. There are multiple types of filtering you can apply to maps and layers to achieve this focus. These filtering settings have the added benefit of reducing the volume of data requested.
Definition queries
Definition queries allow you to define a subset of features to work with in a layer by filtering which features are retrieved from the data source. Definition queries are composed of one or more clauses written in SQL syntax in the query builder. With file- and database-based data sources, definition queries are applied client side in ArcGIS Pro. For web feature layers, you can apply definition queries to the map layers before you publish. When applied before publishing, the web feature layer honors the definition query on all requests, essentially acting as an invisible and permanent filter to clients such as ArcGIS Pro when they use the web feature layer.
Time and range filters
Layers in ArcGIS that have temporal properties defined are considered time-aware. When you use time-aware layers in a map in ArcGIS Pro, the time slider is available to allow filtering. By configuring range settings, you can use the range slider as well to filter based on attributes in the data. Both the range and time sliders allow you to customize the view settings in the map to focus on the data you are interested in viewing. These settings can help performance by reducing the volume of data being queried.
Benefits of using filters
When filters are properly applied to the data, the size of the query response is smaller and reduces the volume of data to be transported from the data source to the client. The application is focused on features relevant to a given workflow.
Considerations when using filters
To improve scalability and performance when using definition queries, ensure that the query you define is selective. An example of a selective query is querying for a specific value in a column, such as color = 'red'. Conversely, an example of a nonselective query is objectID > 1. In the first example, only rows where the color field has a value of red will be returned. In this second example, all but one row would be returned from the data source. If you add nonselective definition queries, the volume of data returned for the layer may not be reduced or, in a worst-case scenario, may lead to decreased performance due to the time it takes to run the query.
You must have knowledge of the data and data distribution to effectively write selective queries. If you use definition queries often, ensure that attribute indexes are present on the fields referenced in the query.
With time or range filters, if the filters are adjusted regularly—for example animating through time—the filters may do little to improve the volume of data being queried or may actually increase the number of query requests.
Subtype group layers and tables
When you work with geodatabase or feature service data that contains subtypes, you can make use of subtype group layers or subtype group tables to more efficiently query data.
Subtype group layers are composite feature layers that contain multiple sublayers called subtype layers. Related to this, subtype group tables contain multiple subtables called subtype tables. Each subtype layer or subtype table corresponds to one subtype in the source dataset or service. You can control scale-based visibility and symbology, or view the attribute table for each subtype individually. Subtype group layers are meant to replace the workflow of adding multiple individual layers to a map.
When you query a subtype group layer or table, ArcGIS Pro sends a single query to the data source for all layers in the subtype layer. This querying pattern is more efficient than querying per layer, which happens when there are multiple individual layers in the map.
Caching
When data is cached on the ArcGIS Pro machine, fewer queries to the data source are required.
Layer caching
All feature layers in ArcGIS Pro maps can be cached using the caching options in the layer properties. For data from a database, an enterprise geodatabase, or local feature layers, this setting enables a cache that is used to display previously visited display extents.
Benefits of layer caching
When revisiting a previously cached extent, few, if any, queries are sent to the data source to render the data on screen. This is helpful in reducing data requests for data display. Caching should be used in an enterprise environment whenever possible to lessen data access requests.
Considerations when using layer caching
When data is updated frequently by multiple users in the same area, data users may require access to these changes immediately as they occur. When you have a local cache of data, data updates made by other users are not visible in your ArcGIS Pro session. To help with this, there are settings available to invalidate the cache frequently. Alternatively, if you require more immediate access to data edits, do not use the cache at all. See Set caching options to learn how to set these options.
Feature caching
When you display web feature layers (feature services) in ArcGIS Pro, using a local feature cache in addition to layer caching can further reduce query requests to retrieve data.
A feature cache is used by ArcGIS Pro to satisfy many different types of data requests. By default, all feature service layers are automatically cached to improve performance and scalability. See Cache options with web feature layers (feature services) and Feature cache criteria for more information.
With web feature layers, there are additional controls available to manage feature caching independently from layer caching. Use these additional controls in scenarios where layers in a map do not meet the previously mentioned feature cache criteria. It is important to review and understand the feature cache criteria to ensure that features are cached when expected. Using these controls to fill the local cache can drastically reduce the number of queries required for a given workflow when the feature cache criteria are not met.
Benefits of feature caching
When enabled, feature caching greatly reduces the number of requests going to the ArcGIS Server site. Once the local cache is created, it is used for most queries in the area that has been cached.
Considerations when using feature caching
When data that covers the same geographic area is updated frequently by multiple users, other users may need access to the data edits immediately as they occur. When using a local cache of data, updates are not visible to other users during their existing ArcGIS Pro session. To help with this, you can empty the cache or disable automatic filling of the feature cache.
Note:
Feature services with the version management capability enabled access a named version. This versioning model allows for multiple viewers but a single editor. This means that data in a named version is not modified by multiple users at the same time. It is recommended to always use a feature cache when working with named versions.
Additional ArcGIS Pro settings
The following additional settings can affect how often source data is queried:
Predefined zoom scales for maps
When working with feature layers in a map, layer caching allows data to be cached on the ArcGIS Pro machine so that queries are not sent to the data source. The data is cached based on the visible extent and current map scale. To reduce how often queries are sent to the data source to create unique layer caches, you can define at what map scales data will draw in the map when the map user zooms in or out.
With this setting enabled, ArcGIS Pro only zooms to the predefined scale list when using the fixed zoom in and out buttons, the wheel button on your mouse, or the Plus (+) and Minus (-) keys on your keyboard.
Note:
These predefined scales are not used when you use the continuous zoom or rectangle zoom commands.
Project navigation options
The following project settings can affect ArcGIS queries sent during navigation of a map or scene:
- Transition time—This setting controls how long it takes ArcGIS Pro to navigate between locations. It animates the transition between bookmarks or when navigating between previously visited extents, which helps maintain your orientation when navigating between two different spatial extents. This animation experience requires extra data requests and is disabled by default.
- Enable panning gestures—This setting assists with navigation toward the direction in which the mouse was moving when you released the mouse button when panning in a map or scene. When this setting is enabled, which it is by default, the map or scene gently glides in the direction in which you dragged the map. This can cause the map to overshoot the desired location. When that happens, extra data is queried when it isn't needed.
These options are described in Navigation options.
Application settings
The system administrators who install ArcGIS Pro can alter application settings so that certain settings are available, hidden, or preconfigured without user input required.
One such option that should be enabled for ArcGIS Pro installations that consume web feature layers is the ManageFeatureCaching option. This option enables the Feature Cache group on the Map tab in ArcGIS Pro for users so they don't have to enable it.