You are here: Reference > Hand-Editing Configuration Files > Basic Express Server Configuration Using XML Files > The ImagePixelCache IndexPixelCache and WarpPixelCache Elements

The ImagePixelCache, IndexPixelCache, and WarpPixelCache Elements

Decoding imagery requires CPU processing. Express Server can reduce these CPU requirements by saving raw pixels in the disk cache. This can improve performance significantly for active sites. However, this comes at the expense of increased disk usage.

Express Server offers three distinct strategies for caching pixels, each represented by a distinct cache. Each of these caches lives on disk and its size, location and pruning interval are all determined by the DiskCache element, of which these are subelements.

Each of these elements, ImagePixelCache, IndexPixelCache, and WarpPixelCache, supports the following editable attributes:

enabled

If "true", then this cache is enabled. Otherwise, this cache will not be used.

NOTE: The ImagePixelCache, IndexPixelCache, and WarpPixelCache can be used in combination with one another, but to reduce the performance costs associated with filling the caches, it is recommended that you enable only one pixel caching strategy.

tileWidth

This indicates width in pixels of each block saved in the cache. The default value is 200.

tileHeight

This indicates the height in pixels of each block saved in the cache. The default value is 200.

utility

The utility parameter specifies the minimum allowable ratio of scene pixels to tile pixels. The pixel caches sort an image into tiles of fixed width and height. When Express Server receives a request to decode an image (i.e. the getimage or GetMap requests), the pixel cache will decode all the tiles that intersect with the specified scene.

In most cases the area of all the tiles will be larger than the area of the requested scene. The result of this is that more pixels will be decoded than are necessary to satisfy the given request, initially hurting the performance of the server. However, because these tiles are then cached, subsequent requests will not have to decode any pixels, improving performance of the server.

The utility parameter specifies the minimum allowable ratio of scene pixels to tile pixels. If the number of pixels in the requested scene divided by the number of pixels required to decode the intersecting tiles is less than this value, then the tiles will be clipped.

Here are some examples of using the utility parameter:

The default and recommended value for utility is 0.

maxMag

This specifies the maximum image magnification at which caching occurs. All requests for scenes at magnifications higher than this value will not be cached; all requests for scenes at or below this magnification will be cached. Decimal values greater than 0 and less than or equal to 1 are valid.

The default value is 1.0, indicating that decode requests at full resolution (1.0) will be cached, as will all decode requests at lower magnifications (i.e. zoomed out).

Requests at magnifications greater than 1 will not be cached.