On Mon, 2008-07-07 at 08:00 +0200, Rogier Wolff wrote:
> > The minimum memory usage for a 50 Mpixel RGBA image is 400 MB, and
> Fine. So you're saying that gimp wastes a factor of two of
> memory. Fine! probably neccesary for something. No problem with that.
GIMP needs to allocate the memory to hold your image data and it needs
to keep the projection (that's what you see with all layers merged) in
memory. On top of that there's some extra memory for the selection mask.
We could save the memory for the projection in the special case of a
single-layered image with the layer mode set to Normal and 100% opacity.
There's even code to share the tiles in this special case but it had to
be disabled because it is broken. Perhaps someone can fix it one day,
that would be a nice improvement.
> So, I understand that loading the big image takes some time and
> swapping. Then, moving the viewable window to the area I want to
> change may cause some swapping. But from then on, things should be
> working snappy. However everything I do takes lots of time.
All operations are applied on the full image data. We use a mipmap for
the projection which helps a lot for panning through zoomed-out views of
large images. But as soon as you perform an operation on the image, the
full-scale image data needs to be touched. It's non-trivial to avoid
this. But it is on the long-term plan to implement working on the
scaled-down version. We hope to be able to address this when GIMP makes
full use of GEGL. If you want to help, I suggest that you contribute to
the GEGL development.
Gimp-developer mailing list