NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

AW: Memory problems with VisAD

Hi Bill,

> Thanks for the test program and for finding this. A partial
> fix is now on our server. The DisplayImplJ3Ds and associated
> objects are now garbage collected. But there are still some
> Java3D objects that are not (including our VisADCanvasJ3D
> which extends Java3D's Canvas3D). I Tried a few things to
> get Java3D to let go of them but without success.

Thanks for this. GC seems to work much better on the new release.

> One approach is to re-use DisplayImplJ3Ds rather than destroying
> them and constructing new ones. Calls to its removeAllReferences()
> and clearMaps() methods should set a DisplayImplJ3D up for re-use
> (Dave or Curtis please correct me if anything else is needed).

Won't work for me because I often have to change the DisplayRenderer of
my DisplayImpl (DisplayRendererJ3D, TwoDDisplayRendererJ3D). Hence there
is no setDisplayRenderer the only way to do this seems to be
constructing a new display.

> OptimizeIt says that object allocations do not grow for
> RubberBandBoxRendererJ3D. I also saw the apparent memory
> growth using "-verbose:gc" but this may be deceptive.

I looked into the RubberBandBoxRendererJ3D and it looks form me like GC
is doing the whole memory cleanup at a FullGC. So there seems not to be
a memory leak in RubberBandBoxRendererJ3D. So sorry for the false alarm
:)

Cheers, Mathias


  • 2001 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: