Yeah, you are right. The memory settings is hugin-only and the default
value (256 MB) is usually enough. Enblend and enfuse use different
memory scheme.
If your enblend/enfuse was build with support of image cache it is
possible to limit it's memory usage using -m option (you can set
options passed to enblend and enfuse in the hugin preferences). The
default value is 1024. That is certainly smaller than the amount of
RAM you have, so you can actually increase it.
I think the error is not caused by the fact that there is no free
memory available, but rather that there no continuous memory block of
sufficient size available, ie. there is some memory fragmentation. Or
it might be bug in enblend.
Lukas
Peter Steneld schrieb am 01.07.11 13:11:
> Hi,
>
> I have a question regarding the architecture and memory usage of
> varios parts of Hugin. In the preferenses of Hugin it is possible to
> set how much memory Hugin is allowed to use. Is that only for the
> Hugin core application or does that memory allocation also includes
> those parts of the Hugin suite that Hugin kicks of during the actual
> stich process?
>
> I think I already know the answer, that it doesn't, and to make memory
> available for enblend the batch process should run and Hugin should be
> closed, right/wrong?
>
> I run in Linux 64 bit Fedora 15 with 8Gig memory, do I have to tell
> enblend how much memory it can use or will it use what is available?
Yes, you tell enblend directly about it via the command line argument
'-m CACHESIZE' (in megabytes), directly in Hugin via these two options:
- in Preferences -> Programs tab: Enblend: Default Arguments
(as a default for all new projects) or
- in the main window's Stitcher tab via the "Options" button
in Processing: Blender: 'enblend'
Example:
-m 3000
uses 3 GB RAM
see http://wiki.panotools.org/Enblend_reference_manual
> I am asking since I am creating a gigapixel pano, and enblend stoped
> and reported out of memory, and I had configured Hugin to use up to
> 6Gig memory. So it wasn't much left if enblend use its own memory
> space.
Probably right :-)
Cheers,
Carl