Click or drag to resize
SoLDMGlobalResourceParametersTileCacheTypes Enumeration

Tile cache management policy.

Namespace: OIV.LDM
Assembly: OIV.LDM (in OIV.LDM.dll) Version: 9.9.36.0 (9.9.36.0)
Syntax
public enum TileCacheTypes
Members
  Member nameValueDescription
NONE0

For non-tiled data like DICOM or SEGY or an in-memory volume, no tiles are are stored in the CPU tile cache.

All tiles are created when needed (e.g. to send data to the GPU), calling the volume reader (SoVolumeReader) and all tiles (both low resolution and full resolution) are stored temporarily in the BufferObject cache. The CPU tile cache is not used. If the entire volume fits in GPU memory, then tiles will only be created once, otherwise performance will be reduced because some time is required when tiles need to be re-created and are not in the BufferObject cache.

For compressed tiled data (e.g. an LDM format file created with compression), the compressed tiles are stored in the CPU tile cache "as is" to reduce the memory requirement. Uncompressed tiles are created from the compressed data when needed (to send data to the GPU) and are stored temporarily in the BufferObject cache.

This mode saves memory but can reduce interactivity.

FULLRES_ONLY1

This option really means "low res only" (the name is fixed is OIV 10).

For non-tiled data like DICOM or SEGY or an in-memory volume, tiles are created when needed (to send data to the GPU), but low resolution tiles are stored in the CPU tile cache and full resolution tiles are stored in the BufferObject cache.

For compressed tiled data (e.g. an LDM format file created with compression), low resolution tiles are uncompressed when loaded and stored uncompressed in the CPU tile cache. Full resolution tiles are stored compressed in the CPU tile cache (to reduce the CPU memory requirement). Uncompressed full resolution tiles are created from the compressed data when needed (to send data to the GPU) and are stored in the BufferObject cache.

This setting uses more memory than 'NONE' but saves time when low resolution tiles need to be sent to the GPU. It uses less memory than 'ALL'.

ALL2

For non-tiled data like DICOM or SEGY or an in-memory volume, tiles are created when needed (to send data to the GPU) and all tiles (both low resolution and full resolution) are stored in the CPU tile cache.

This mode is recommended for non-tiled volumes loaded from disk when the volume will fit in memory (generally true for medical volumes). NOTE: For an in-memory volume, this setting will duplicate the data in memory. For an in-memory volume it's better to use the LOWRES_ONLY or NONE setting.

For tiled data that is compressed (e.g. an LDM format file created with compression), all tiles are uncompressed when loaded and stored uncompressed in the CPU tile cache.

This setting uses the most memory, but saves time when tiles need to be sent to the GPU. The BufferObject cache is not used.

LOWRES_ONLY1

FULLRES_ONLY was renamed to LOWRES_ONLY in OIV10, this is here to help transition.

Added at the end for better compatibility

Remarks

See the Memory Management section above for more information including the definitions of CPU Tile Cache and BufferObject cache. Used with setTileCacheType() method.

For tiled data that is not compressed (e.g. a standard LDM format file), the TileCacheType setting has no effect and only the CPU tile cache is used.

Setting the SoPreferences variable LDM_USE_IN_MEM_COMPRESSION to false (zero) effectively sets the tile cache type to mode 'ALL'. Obsoletesince Open Inventor 9630 Moved to SoLDMResourceParameters in OIV 10.

See Also