Click or drag to resize

ImagesOperatorsMemoryFreeLogical Method (McImages)

The largest block of free logical memory in MB.

Namespace:  MediaCy.IQL.Operators
Assembly:  MediaCy.IQL.Operators (in MediaCy.IQL.Operators.dll) Version: 3.1.0.0
Syntax
VB
<ExtensionAttribute>
Public Shared Function MemoryFreeLogical ( 
	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
This is a read/write property. When read, the virtual memory system is walked to discover the largest block of free logical memory that is available. The largest single memory allocation that can be made will be the size of this block or smaller. The limit is generally only a problem in 32-bit operating systems when single allocations of memory blocks larger than 100 MB are requested. If the largest free logical block is larger than 16 GB, then 16 GB is reported (this is possible only in 64-bit operating systems). On assignment, if necessary sections of unlocked image memory are swapped out to disk to free up the requested logical block. Frame memory is swapped to disk in ascending order of the McFrame.NextAccessPriority value (lower values go first); however, the memory of frames with a McFrame.NextAccessPriority of 1000 or greater is not swapped out, even if it is unlocked. Note that the requested MemoryFreeLogical value may not be achievable by swapping out image frames, but this is not treated as an error. To check for the success of the request, access the MemoryFreeLogical property again and verify that it is at least as large as your request. Thus if an algorithm requiring a large block of non-image memory is to be run, you can use McImage.SetNextAccessPriority to set the NextAccessPriority of frames you will use in the algorithm to 1000 and then assign your desired free logical block size (in MB) to McImages.MemoryFreeLogical. Note that you do not need to do this if your algorithm only requires image memory, since the swapping of low priority frames is done automatically for all image memory allocation requests.
See Also