Click or drag to resize

IMcResourceManagerImageUndoLimits Property

Sets and exposes limits on whether and how image memory is placed on the undo stack..

Namespace:  MediaCy.IQL.Engine
Assembly:  MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
Syntax
VB
Property ImageUndoLimits ( 
	WhichLimit As mcImageUndoLimits
) As Double
	Get
	Set

Parameters

WhichLimit
Type: MediaCy.IQL.EnginemcImageUndoLimits

Property Value

Type: Double
Remarks
In order to avoid wasting time or memory by pushing too much image memory onto the undo/redo stacks, a graded set of tests is applied to images being placed on these stacks, based on the size of the image information to be backed up and on the current level of memory consumption. The lowest level of test is specified by the ImageUndoLimits(mcImageUndoLimits.mciulKeepUndoPcnt) or ImageUndoLimits(mcImageUndoLimits.mciulKeepUndoMBytes) properties (whichever yields the smaller amount of memory). Image undo backup operations that require less than this amount of memory are placed on the stack in a normal image with low NextAccessPriority; should memory get tight, these images will be spooled out to swap files and so preserve the ability to undo the operation. The default for this property is the smaller 0.1% of MemoryMax(mcMemoryType.mcmtImageMemoryMBytes), MemoryManagerInfo(mcMemoryManagerInfo.mcmmiUsablePhysical), or 1.0 MByte. The next level of test is specified by the ImageUndoLimits(mcImageUndoLimits.mciulConditionallyKeepUndoPcnt) or ImageUndoLimits(mcImageUndoLimits.mciulConditionallyKeepUndoMBytes) properties (whichever yields the smaller amount of memory). Undo backup images that consume less memory than this are assigned memory that is "conditionally discardable". If memory gets tight, conditionally discardable undo steps will be spooled to a swap file unless ImageUndoLimits((mcImageUndoLimits.ConditionallyKeepUndoTimeoutSec) seconds have passed since the undo information was pushed onto the undo stack; after this time, the step will be discarded in tight-memory situations. The default for this property is the smaller 2.0% of MemoryMax(mcMemoryType.mcmtImageMemoryMBytes), MemoryManagerInfo(mcMemoryManagerInfo.mcmmiUsablePhysical), or 20.0 MByte. The default timeout is 120 seconds (two minutes). The highest level of test is specified by the ImageUndoLimits(mcImageUndoLimits.mciulMaxUndoPcnt) or ImageUndoLimits(mcImageUndoLimits.mciulMaxUndoMBytes) properties (whichever yields the smaller amount of memory). Undo backup images that need to consume more memory than this are just not created at all; the undo step is marked as "too big". For undo images that are smaller than the MaxUndo limit, but larger than the ConditionallyKeepUndo limit the situation depends on whether memory is already tight at the time the undo information for an operation is pushed. If memory is tight, then the undo image is not created and the step is marked "too big", just as above. If memory is not tight, the undo image is created and pushed onto the stack with its memory marked as "discardable". Should memory subsequently become tight, discardable memory is thrown away rather than taking the time to spool it out to a swap file; undo steps where this happens are marked as "discarded". The default for the "MaxUndo" property is the smaller 20.0% of MemoryMax(mcMemoryType.mcmtImageMemoryMBytes), MemoryManagerInfo(mcMemoryManagerInfo.mcmmiUsablePhysical), or 400.0 MByte.
See Also