I've created a simple python-fu plugin to generate test images for use
in another project (all on linux, gimp 2.2.13, fedora core 5). It works,
but terminates before finished.
What the plugin does is to create images of a given specification, in a
loop. Each pass of the loop alters the image slightly. It creates the
image, it creates a layer, it does some painting (basically bucket fills
and text), then it saves the file. It does not do any interactive
display of the image.
After about 4000 images, it fails, claiming no space left on device.
However, there's about another 30 GB left. Furthermore, I monitor ram
use, and there is still about 1.25 GB of ram left (it has swap turned
off, it's all physical ram). Monitoring ram, I do see ram use
continually climb, and never drop (actual use, not cache). The amount
roughly appears to corresponds to the image sizes. I need to generate
approximately 45000 files per batch.
I have not found any python-fu way to "close" a file, or to reclaim
memory after creating an image or layer. Is there such a thing? Is there
instead some sort of garbage collection?
Speculating about why it claimed it was out of memory, I'm wondering if
the hard drive simply was too slow responding. It's a laptop, running
with core duo, entirely in ram. The drive is thus much slower than the
ability to consume ram. How does gimp determine that there is no space
left on the device...is it a timeout in addition to other means?
D. Stimits, stimits AT comcast DOT net
Gimp-developer mailing list