Caching in ArcGlobe

The caching process indexes and organizes your symbolized data into tiles and levels of detail. This technique, an integral part of ArcGlobe, allows the display of very large datasets. ArcScene does not use caching and is better suited for smaller, more localized datasets.

Caching is handled automatically for most users, but in some cases direct management of your cache settings may be useful. For example, memory cache settings can be tailored specifically for the current ArcGlobe document. A solid understanding of caching in ArcGlobe is recommended for users who want to interact with their cache settings and stored disk cache on a regular basis.

There are two types of caching used by ArcGlobe: memory caching and disk caching.

Memory caching

Memory caching refers to assigning an amount of physical memory (RAM) for use by ArcGlobe. For optimum performance, you can set the amount of memory assigned for each type of data used. For example, you can allocate more physical memory for elevation layers when displaying documents that have many large DEM layers in them.

Learn more about cache management in ArcGlobe

Disk caching

Disk caching creates a set of temporary files, or cache, for each layer in the ArcGlobe document. The name of a layer's disk cache is a concatenation of its display name and global unique identifier (GUID). It is important to note that caches are generated for layers, not for data sources. A line feature class displayed with a red line will need a separate disk cache to the same line feature class displayed with a green line. See Cache management in ArcGlobe for more information on managing disk caches, including setting a layer's cache location and when caches should be deleted.

As you navigate through your data, the display for areas you have visited are cached to disk. This provides faster display performance when that location is visited next. By default, caches are generated using this cache on demand manner.

It is also possible to fully cache a layer. This will generate the cache for the full extent of the data for all possible levels of detail. This means that no matter where you go or at what scale, the cache for that view has been generated, and the layer will render as quickly as possible.

In most cases, however, it is best to partially cache a layer, where the full extent of the data is cached but only for specific levels of detail. By only caching the appropriate display scales, you can greatly reduce the size and generation time for the cache while still gaining performance.

Another performance technique is cache consolidation, where a cache can be created for a group layer to reduce the number of disk caches stored and displayed for an ArcGlobe document.

Learn more about creating a group layer cache in ArcGlobe

Once you have developed and consolidated disk caches, you may need to move them to a new location. For example, you may want to deploy an ArcGlobe document for consumption in ArcGIS Globe Server, or you may simply be running low on disk space in your current default cache location. While disk caches are a set of highly structured folders, they are perfectly able to be moved between locations.

Learn more about moving and deploying mature disk caches

Automated disk cache behavior

A layer's cache can be in any accessible directory, although it is usually recommended to keep them in the same location for consistency. The default settings will place all caches in the same local directory. The default cache settings for ArcGlobe is immediately under the Application Data\ESRI\Local Caches folder of the current user, called GlobeCache.

The life cycle of a layer's cache then follows a series of rules:

Cache creation

Disk caches are created automatically when a new layer is added to ArcGlobe.

If the layer was copied from another ArcGlobe session or added as a saved ArcGlobe layer file, the cache for that layer already exists, and no new cache is created. This allows you to create full or partial caches for key layers and reuse them in many ArcGlobe documents.

Cache invalidation

Disk caches are automatically invalidated when there is a change in the display for the layer. For example, changing the symbol color or enabling labels would invalidate the cache for that layer. Changing the visibility of a layer does not invalidate the cache. You can manually invalidate the entire cache for a layer by right-clicking the layer and clicking Refresh. To partially invalidate a layer's cache, specify the geographic extent on the Advanced Cache Management dialog box, accessed from the Advanced button on the Cache tab of the Layer Properties dialog box.

Invalidating the cache of a layer that has not been saved to either an ArcGlobe document or layer file will result in the existing cache being emptied then developed again, on demand, using the new symbology.

Invalidating the cache of a layer that has been saved to either an ArcGlobe document or layer file, however, results in the original cache being left in place and a new cache being created for the updated symbology. This is done for two reasons. The first is that the layer could be used in other documents, and it should honor its original symbology and cache. Secondly, if you make a change to a layer's symbology and exit ArcGlobe without saving, the original cache will still be there when you reopen the document. One side effect is that, over time, you may develop caches that are no longer needed.

Cache deletion

Unneeded caches are automatically deleted when ArcGlobe is closed. For example, if you add a new layer to ArcGlobe and exit without saving the layer in the document or a layer file, the on-demand cache for the layer you added will be deleted. This is because there is no document or layer file referencing that layer so the cache will never be consumed.

The exceptions to this rule are manually generated full or partial caches. These caches are not deleted when closing ArcGlobe, even if the layer is not saved to a layer file or an ArcGlobe document. However, they are also effectively orphaned, as the only way to reference them is by adding the top-level layer file from the cache directory. These orphaned caches no longer reference their source data and are simple snapshots of the data display. To simplify cache management, it is recommended that you make it a practice to keep connections to all your caches through a layer file or an ArcGlobe document.

If you configure a layer's properties to not use a disk cache, then the existing disk cache for the layer is automatically deleted. This also ensures that no cache is written to disk. To set a layer to not use a disk cache, go to the Cache tab on the Layer Properties page and check the option Do not use a disk cache. Immediately, any existing disk cache files are removed. If the layer has a full cache, then a warning is given before the cache gets deleted.

Optionally, you can configure a layer to always delete its cache when exiting ArcGlobe. This is useful for dynamic content, such as weather data from an ArcIMS service, where the display will be changing regularly.

When closing the application or exiting a document, ArcGlobe will warn you if layer caches are going to be automatically deleted or orphaned. The message added to the Save Changes dialog box is 'If not saved some layer caches will be lost'. The message is not displayed for layer caches that you have configured to be deleted on exit.

In the image below are the two options for controlling cache deletion. When applied, the first option immediately deletes a layer's disk cache, whereas the second option will delete the disk cache only after exiting ArcGlobe or removing the layer.

Cache deletion options for ArcGlobe layers.

Related Topics


6/11/2012