Memory Usage

How is memory allocated and displayed

Memory Allocation

It is tried to allocate only physical memory, which is RAM. Swapping to hard disc must be avoided. The memory usage is calculated and then compared with the available physical memory, so swapping should be avoided. If the Task Manager runs in parallel to a first capture session after program start, it can be seen, that memory usage rises during capture process. This happens, because only if an image buffer is really used, its memory is allocated. Therefore, the available memory output in the program's status bar can be confusing. It can show more than the real available memory. This will be correct on the second run and is not reason to be alerted.

Memory Usage calculation

The memory usage can be calculated easily: Image width multiplied by imageheight multiplied by bytes per pixel. The bytes per pixel depend on used video format. If Y800 is in use, it is one, all other formats will set this to three, that is R,G and B. The result gives the image size.

The image size is multiplied with the number of frames which are to be captured. This number depends on the running mode, that is specified in the options:

Triggered by external trigger source
Since the extern trigger generator can create fluctuating frequencies, the number of frames per second will be the video capture device's frame rate, because this is the maximum number, which can be achieved.
Triggered by software
The trigger frequency is specified in the options dialog, therefore the number of frames per second is the software trigger frequency.
Free Running
The number of frames per second is determined by the video capture device's frame rate.

Now the image size and number of frames pre second are known and will be multiplied by the capture duration in seconds. This is done for each used video capture device and their results are added. The sum is the needed memory.

<< IC Express