Hi Robert, Have you already updated the pager with these changes ? I was looking to the debug crash, but I'll wait for these modifications to see if it changes something.
Cheers, On Fri, May 30, 2008 at 12:16 PM, Robert Osfield <[EMAIL PROTECTED]> wrote: > Hi Pagees, > > I've been looking into the problem of memory growth in the new rev of > the DatabasePager and I've tracked the problem down to the new > mechanism of attached DatabaseRequest's via a ref_ptr<> to > PagedLOD/ProxyNode nodes. The DatabaseRequest themselves had a > ref_ptr<> which creates a circular reference. > > Normally the DatabasePager manually breaks the circular reference > during its normal operations, so most of the time no leak occurs. > However, if the view is moving quickly then old tiles will get expired > and removed from the scene graph, and if these tiles have had a > previous file request made for them then the circular reference is > never broken and leak occurs. > > The solution was to introduce an observer_ptr<> into DatabaseRequest > instead of a ref_ptr<>. This change has meant that the code that > relies on this pointer now has to be more careful as it now has to > handle instances where the pointer becomes null, but this is small > addition that is easy to add. > > I'm currently testing the new code thoroughly, and will clean it up > and check it in next half an hour. This means that this fix will make > it into the 2.5.1 dev release that'll I'll make this afternoon. > > Robert. > > Robert. > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > -- Serge Lages http://www.tharsis-software.com
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

