Click or drag to resize

ImagesOperatorsMemoryVirtualReserve Method (McImages)

The percentage of virtual memory reserved for application use.

Namespace:  MediaCy.IQL.Operators
Assembly:  MediaCy.IQL.Operators (in MediaCy.IQL.Operators.dll) Version: 3.1.0.0
Syntax
VB
<ExtensionAttribute>
Public Shared Function MemoryVirtualReserve ( 
	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 operating system supplies only 2GB or 3GB of linear address space to each process. In cases where more than this amount of physical memory is installed, the virtual address space becomes the limit on how much image frame storage can be kept in memory (if less physical memory than virtual address space is installed, the MemoryUsageLimit will kick in first). Furthermore, you do not want to use all of the virtual address space for image storage, because other memory needs of the program will not be met and it will fail with "out-of-memory" errors. By default, MemoryVirtualReserve is set to 10 percent of the available virtual memory space. This causes unlocked image frames to be swapped out as necessary to keep about 200 to 300 MB of free virtual memory available. The default value should be fine for most cases, and you will rarely want to make it smaller since that increases the risk of out-of-memory conditions without improving image storage by much (values below 5% are silently set to 5%). In rare cases, you may be using some algorithm that requires very large arrays, and in such a case increasing the MemoryVirtualReserve will make more virtual memory available for non-image memory use (values above 60% are silently clipped, however). Generally you should avoid such algorithms, since they are rarely necessary and can cause performance problems. Under 32-bit windows the total virtual address space is 4GB. By default 2GB of this is reserved for the operating system and 2GB for each process. But if 1GB or more of physical memory is installed, the virtual address space will usually be the limit that constrains the maximum size of any single frame (because each frame needs a contiguous block of this space). Thus, if large frames are needed, it is to great advantage to have 3GB rather than 2GB of virtual address space assigned to the process. Under Windows XP Professional and higher 32 bit operating systems it is possible to assign 3GB of virtual address space to processes. In order to have 3GB of the virtual address space assigned to processes, it is necessary to add the /3GB switch to the end of the line of the entry in the in the [operating systems] section of the boot.ini file. More information can be found by doing an Internet search for "/3GB" and by searching the Microsoft support web site (http://support.microsoft.com) for "/3GB" and/or "Memory Support and Windows Operating Systems".
See Also