Re: The infamous dbase paging memory leak

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++sgi.com)
Fri, 23 Apr 1999 14:38:27 -0700


This still won't do it, it's the gl handles you need to delete from the
draw process. Just deleting the pfTexture will not free the gl memory.

This is the problem most people run into. I've been told it's not a bug,
it's a deliberately designed that way because an application may attempt
to use that handle after a texture is deleted.

I personally think it would be reasonable for Performer to delete this
handle. It's tricky for an application to delete it otherwise.

Feedback on this design issue would be appreciated.

Cheers,Angus.

MLM Veraart wrote:
>
> Mason D. Menninger wrote:
> >
> > Thank you for your response (I received fewer than
> > I expected).
> >
> > Yes, the tiles contain large textures (512 x 512).
> > I took a look at pfuTextureManager and the example
> > "texman.C." Are there any equivalent C functions?
> > My program is not C++. I would agree that it is
> > likely that the textures are not being properly
> > removed from memory.
> >
> > The files I load in are in OpenFlight format. I am
> > using their loader (R15.4g) to read in the tiles.
> > Each tile is only being used once in the scene so
> > I don't think I have any referencing issues. I've
> > tried monitoring the reference count. Then I realized
> > that I'm not sure when pfBufferRemoveChild() takes
> > effect so that number may not prove much.
>
> I think the flight loader performs a pfRef() call to every texture and
> Geostate that it creates. This makes it impossible for pfXXDelete() to
> remove them from memory.
> See man page for 'fltSharedPalette'. One of the Multigen Flight Loader
> pages.
>
> Mario
> >
> > I tried out:
> >
> > amallopt(M_MXFAST, some-value-bigger-than-28, pfGetSharedArena());
> >
> > and played with a few values. No noticeable effect so far.
> >
> > I'll keep at it....
> >
> > -Mason
> > mason++at++praxis.jsc.nasa.gov
> >
> > > From zhz++at++dandan.engr.sgi.com Sat Apr 17 03:48 CDT 1999
> > > Date: Sat, 17 Apr 1999 01:47:43 -0700
> > > From: zhz++at++dandan.engr.sgi.com (Jenny Zhao)
> > > To: "Mason D. Menninger" <mason++at++praxis.jsc.nasa.gov>
> > > Subject: Re: The infamous dbase paging memory leak
> > > Cc: info-performer++at++dandan.engr.sgi.com
> > >
> > > Hi, Mason,
> > >
> > > Does your tiles contain textures?
> > > You have to delete pfTextures in a special way.
> > > Please look at pfuTextureManager.C
> > > for details.
> > > There is an example of using pfuTextureManager
> > > in pguide/libpfutil/texman.C
> > >
> > > What format is your data in? flt? pfb? or?
> > >
> > > A lot of the suggestions you see on info-performer
> > > deals with memory fragmentation, not memory leaks.
> > > Here is another useful tip found by Angus:
> > > amallopt(M_MXFAST, some-value-bigger-than-28, pfGetSharedArena());
> > > Play with the value to see if
> > > it helps.
> > >
> > > Make sure the tiles you want to delete are not
> > > being reference by other parts of the scene graph. Otherwise
> > > the reference count on them do not go to zero
> > > and AsyncDelete can never delete them.
> > >
> > > Hope my 2 cents can help.
> > >
> > > Jenny Zhao zhz++at++engr.sgi.com 650 933-5091 IRIS Performer Manager
> > >
> > -----------------------------------------------------------------------
> > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > Submissions: info-performer++at++sgi.com
> > Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

-- 
"Microsoft's system was like a forest that hadn't had a controlled
 burn in decades, just waiting for one person with a match to turn
 it into a disaster. Melissa was Microsoft's fault. They left their
 system wide open to this sort of abuse, they knew it could happen
 and did nothing." -- Bruce Perens

For advanced 3D graphics Performer + OpenGL based examples and tutors: http://www.dorbie.com/


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Fri Apr 23 1999 - 14:38:32 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.