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
RemarksThis 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 AlsoReference
MemoryFreePhysical
MemoryInformation