This document is archived and information here might be outdated.  Recommended version.


IDynamicCacheLayerManager.StrictOnDemandMode Property (ArcObjects .NET 10.4 SDK)
ArcObjects Library Reference (Carto)  

IDynamicCacheLayerManager.StrictOnDemandMode Property

Indicates whether to use a coarse grained drawing in case where there is nothing else to render while waiting for the current map scale data to be cooked.

[Visual Basic .NET]
Public Property StrictOnDemandMode As Boolean
[C#]
public bool StrictOnDemandMode {get; set;}
[C++]
HRESULT get_StrictOnDemandMode(
  VARIANT_BOOL* StrictOnDemandMode
);
[C++]
HRESULT put_StrictOnDemandMode(
  VARIANT_BOOL StrictOnDemandMode
);
[C++]

Parameters StrictOnDemandMode [out, retval] StrictOnDemandMode is a parameter of type VARIANT_BOOL StrictOnDemandMode [in] StrictOnDemandMode is a parameter of type VARIANT_BOOL

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Remarks

When set to true, it restricts the dynamic display from setting requests for tiles o tiles other than the tiles of the current calculated level of detail (with the exception of the coarse level tile when it is required).

In order to give the user a better visual experience, the dynamic display can use several levels of coarse textures to be rendered while it waits for the background thread to finish processing the data for the current map scale (and therefore the appropriate level of detail). The user can control the number of coarse textures by setting properties ProgressiveDrawingLevels and ProgressiveFetchingLevels, where ProgressiveDrawingLevels sets the number of level of details the dynamic display will search in memory to get a coarse texture. The ProgressiveFetchingLevels property sets the number of level of details for which the dynamic display will set requests to actually fetch data on the background thread, incase this data was not found in memory. Setting StrictOnDemandMode forces the dynamic display to set tiles requests only for the current map scale and logically sets ProgressiveFetchingLevels to zero.

By default, all layers are set to work using StrictOnDemandMode equal to true, to give the best total drawing speed. When setting this property to false, especially with raster layers, the user experience is much better, although the total drawing time is about 30% longer.

See Also

IDynamicCacheLayerManager Interface

.NET Samples

Dynamic cache layer manager controller (Code Files: CacheManagerDlg)