Re: [Gimp-developer] Python FU Scripting -- Memory Leak? or How to release python gimp objects properly to manage memory usage?
- From: Michael Natterer <mitch gimp org>
- To: Kevin Cozens <kevin ve3syb ca>
- Cc: gimp-developer <gimp-developer-list gnome org>
- Subject: Re: [Gimp-developer] Python FU Scripting -- Memory Leak? or How to release python gimp objects properly to manage memory usage?
- Date: Tue, 28 Feb 2012 18:53:47 +0100
On Tue, 2012-02-28 at 10:52 -0500, Kevin Cozens wrote:
> On 12-02-15 11:42 PM, Tom Vrankar wrote:
> > Here's the simple command sequence that demonstrates the "leak".
> [snip]
> > img =gp.gimp_image_new (1280, 720, 0)
> > dsp =gp.gimp_display_new (img)
> > lyr =gp.gimp_layer_new_from_drawable (src.layers[1], img)
> > img.insert_layer (lyr, position =0)
> > gp.gimp_display_delete (dsp)
> >
> > I see memory use jump after each iteration. Any help is appreciated.
>
> You are creating and destroying the display but you aren't doing the same
> with the image. You should call gimp_image_delete() after you call
> gimp_display_delete once you no longer need the image.
Sorry, not true. The image's first display takes ownership of the image,
further displays merely ref it. gimp_image_delete() has no effect when
there is a display, and for images with displays you would delete all
displays to get rid of the image.
Tom, try doing this in a loop like 100 times, the memory consumption
will stay about the same. There is a lot of memory caching going on in
glib and gimp.
--Mitch
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]