For web feature layers, a feature cache is used to improve performance and common tasks by storing features in a temporary folder. The cache is automatically managed and as features are cached, the number of queries needed to retrieve data is reduced and drawing time is improved. This can be useful when working with large or complex datasets, in a specific map extent, or when numerous users are using the same service. This also reduces strain on the server as it reduces the number of service requests.
Feature Cache Criteria
By default, the feature cache is filled automatically by the application; this is the recommended setting. The cache is filled each time the map has finished drawing and the following five criteria are met:
- The layer is visible in the Contents pane.
- The layer is displaying based on the visible scale range.
- The total number of features drawn is less than five times the row count threshold value on the service layer.
- The caching option on the layer properties dialog box is set to Clear cache when the session ends.
- The estimated number of features in the visible extent is less than five times the row count threshold value when filters are present.
Note:
Filters include display filters, definition queries, subtype group layers, and symbol classes.
Additional details for the row count threshold, estimated row counts, and subtype group layers will also be used to determine whether the cache will fill automatically.
Row count threshold
The row count threshold is used to determine when the feature cache will fill. Row count threshold is set to 2000 or the feature service layer maxRecordCount, whichever is lower.
Estimated row counts
When estimated row counts is supported and a layer has filters, ArcGIS Pro will use estimated row counts, and the five criteria as described above to determine whether the feature cache will fill. If a layer does not have filters, estimated row counts will not be used and ArcGIS Pro will use the five criteria as described above to determine whether the feature cache will fill.
If the estimated row counts of the entire feature service layer is less than five times the row count threshold, the feature cache for the whole feature service layer will be filled.
For feature service layers that do not support the estimated row counts, the feature cache will not be filled if there are filters on the layers.
Note:
To determine whether the feature service supports estimated row counts, go to the layer's JSON resource and look for the infoInEstimates parameter. If "count" is seen within this array, ArcGIS Pro will obtain estimated row counts.
Subtype group layers
There are times in which subtype group layers may or may not be considered filters.
Subtype group layers are considered as filters when at least one sublayer within is visible. For this scenario, estimated row counts will be used to fill the feature cache if supported.
Subtype group layers are not considered as filters when all the subtype group layers are visible. For this scenario, the sum of the draw count from all visible subtype group layers will be used to determine whether the feature cache fills.
Subtype group layers are not considered as filters when no subtype group layers are visible. For this scenario, the subtype group layers will be considered as nonvisible and the feature cache will not be filled for these layers.
In scenarios in which the application determines not to fill the feature cache for a layer (in other words, the five criteria listed above are not satisfied), you can manage the cache manually to take advantage of the performance benefits provided by the cache.
Access controls to manage the cache on the Map tab in the Feature Cache group. Use these controls to fill the cache, empty the cache, cancel a current cache fill, or set the cache to automatically fill. These controls are applied to each map in a project. If the Feature Cache group is not enabled, the application will automatically cache features as described above.
For more information on caching, see How caching works.
Show the Feature Cache group
By default, the Feature Cache group is hidden on the ribbon. Follow these steps to access the controls in this group.
- Click the Project tab and click Options.
- On the Options dialog box, under the Application heading, click the Map and Scene tab.
- Expand Feature Cache and check Manage feature cache from the Map tab.
- Click OK to save your settings and close the dialog box.
Auto Cache
When the Feature Cache group has been enabled, Auto Cache will be turned on for each new map. Turn off this option to manage the cache manually. This setting can be changed independently for each map in a project. This allows you to manage the Auto Cache setting as your workflow requires. As noted below, if layers share the same data source across multiple maps, Fill and Empty may affect Auto Cache.
Note:
While a fill that has been initiated from Fill is in progress, auto caching is paused for the entire project until the current fill is complete.
Fill the feature cache for the current map
The feature cache must be filled before it can be used.
On the Map tab in the Feature Cache group, click Fill to fill the cache for all layers that are visible in the map.
Caution:
If you don't see the Feature Cache group on the Map tab, follow the steps in the previous section to access these controls.
If a layer's data source is shared across multiple maps in the same project, the cached features are shared across the maps.
A notification alerts you when the cache begins to fill, when the fill is complete, or if an error occurs.
Note:
- Building a cache for a large area or for an area with many features may take some time. To cancel filling the cache, click Cancel .
- If there are no visible web feature layers in the map, or if the layers are set to not cache within the layer's properties, a fill is not supported and you will receive a notification.
Caution:
When using Fill in conjunction with Auto Cache, the Fill button will cancel any automated fills in progress. In this workflow, it is recommended that you wait 15 seconds after the map has finished drawing to allow the automated fill procedure to complete before using Fill .
Empty the feature cache for the current map
Emptying the feature cache can be done periodically if there are edits made to the underlying layer from other sources.
On the Map tab in the Feature Cache group, click Empty to empty the feature cache for all layers in the current map.
Caution:
If you don't see the Feature Cache group on the Map tab, follow the steps in a previous section in this topic to access these controls.
The Empty button is always enabled and does not become inactive. The empty operation does not occur if there are pending edits. Edits must be saved or discarded before emptying the feature cache.
If a layer's data source is shared across multiple maps in the same project, the cache for these layers in other maps is affected during the empty operation.
A notification alerts you when the cache is emptied, when an error occurs, or if there are pending edits.
Cancel filling the feature cache
If you have clicked the Fill button and the fill is taking longer than expected, or if you clicked it by accident, you can cancel the process. This button is available only when a cache is being filled.
On the Map tab in the Feature Cache group, click Cancel to cancel fill requests in progress.
Caution:
If you don't see the Feature Cache group on the Map tab, follow the steps in a previous section in this topic to access these controls.
A notification alerts you when a cache fill has been cancelled.