[Sticky] How much memory should I allocate to APP?
In APP you need to tell APP (only once 😉 ) how much memory it's allowed to use.
If you click on the top left CFG button
you can allocate more memory than the initial 2GBs of memory that APP is allowed to use when you install APP for the very first time.
You can set the amount to a maximum of your
maximum amount of RAM memory you can allocate = system RAM (in GBs) - 1 GB
so for an 8GB system, this means you can allocate 7GBs of RAM memory as a maximum.
A question that popped up:
I've allocated 6GB to APP, but it never uses more than about 2GB. Can it use more?
APP can and will definitely use more memory when required. If it isn't consuming more than 2GBs of RAM memory while processing your data, this simply means it doesn't need to allocate more memory to fully do it's processing on your particular data.
APP doesn't need a lot of memory actually to fully process regular stacks. With 2GBs of RAM memory you can process 20MegaPixels of RGB data (RGB data consumes three times more memory than monochrome data with the same amount of pixels), for instance, data shot with a Canon EOS 6D.
So with 6GB applied as the maximum that APP can use, APP will be able to handle much bigger frames.
The registration engine is benefiting if you let APP take more memory though, so I suggest to let APP use as much memory as you possibly can while keeping 1-2Gbs for your OS to be able to still do it's tasks. You want to prevent your OS from starting swapping.
The registration engine is a scaled engine for the maximum amount of RAM memory and the number of processors that you let APP use. If you have lots of stars in your images (>2500) then in the registration process it will run much faster if you have allocated more memory. This scaling works dynamically while registering your frames using all cores that APP is allowed to use, which you can also set. So multiple frames will be registered at the same time in APP.
For star counts in your images below 1000, the registration engine won't be slower with only 2GBs of memory.
In most cases, you will only need to supply APP with more than 4GBs for optimal registration speed and to be able to make integrations of big field of views, like big mosaics.
You might have noticed that APP hardly consumes any memory while performing the actual integration tasks due to file mapping of all the images of the stack.
So for memory usage in APP, the limiting factor that APP can handle is determined by the image dimensions and the number of channels (monochrome /RGB) that the data has.
If you Drizzle with a scale of 2x in 6)INTEGRATE for instance, then a 20 megapixel frame becomes 80MP (2x2=4). Then you will notice it will consume more memory probably.
Main developer of Astro Pixel Processor and owner of Aries Productions