Click or drag to resize

ImagesOperatorsMemoryUsageLimit Method (McImages)

The percentage of non-reserved physical memory used for all image storage before swapping to disk occurs.

Namespace:  MediaCy.IQL.Operators
Assembly:  MediaCy.IQL.Operators (in MediaCy.IQL.Operators.dll) Version: 3.1.0.0
Syntax
VB
<ExtensionAttribute>
Public Shared Function MemoryUsageLimit ( 
	images As McImages
) As Double

Parameters

images
Type: MediaCy.IQL.EngineMcImages

Return Value

Type: Double

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type McImages. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Remarks
The value can be anywhere from zero up to 100; a value of 60 is the default. The actual physical memory used will not be the percentage specified of total physical memory, because adjustments are made for both small and large amounts of installed memory to reserve memory for other purposes. Thus this value should be viewed as an approximation with values of 80-95 using as little swapping as possible (and thus having a higher risk of the operating system doing its own, very slow swapping of image memory) and values of 30-50 doing aggressive swapping so that image memory is kept to a relative small percentage of physical memory. Any value of 100 or greater results in no swapping ever occuring. This situation can easily result in "out-of-memory" conditions if many large images (or sequences with many frames) are opened at once, or if many operations are done on large images or long sequences with a deep undo stack. For 32-bit versions of the product, if you have 2GB to 3GB or more of physical memory, then use of this memory for image storage is also constrained by the operating system limit of 2GB or 3GB of linear virtual address space per process. In these circumstances, swapping to disk may occur before the MemoryUsageLimit is reached in order to free up linear address space (see MemoryVirtualReserve). In any case, no single frame (or contiguous block of frames if the mcicfContiguous flag is set in the mcImageCreateFlags) is ever allowed to be larger than the physical memory represented by the MemoryUsageLimit. This is to prevent the disk thrashing that will occur if the operating system starts paging image memory to disk. McImages.Add will fail if such a large image is requested.
See Also