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.
Hi Dave, > A while ago, this thread was started and I was wondering if there was an > update to this memory problem? > > My current program has to be able to create a variable number of > displays depending on the data set the user chooses. Because of this, I > don't think I will be able to just simply re-use the displays once I > create them because the number of displays may change unpredictably. > > I have been running the removeAllReferences() and clearMaps() methods > as suggested as well as running destroy() on the display. I notice that > memory use climbs rapidly still, around 5-7MB each time I destroy and > create a new display. Are there any other suggestions to help conserve > memory as I am running into OutOfMemory Exceptions? We haven't learned anything new about this. In you situation I would create a pool of available DisplayImplJ3D's. Instead of invoking the constructor, call a method of the pool to get one. It will either give you one or construct one if it has no free DisplayImpl available. When you done with one, pass it to a method of the pool that will call its removeAllReferences() and clearMaps() methods, then add it to a Vector (or whatever) of free DisplayImpls. You can reduce the size of FlatFields by using range Sets with relatively small numbers of samples. Of course, this reduces the resoltion of range information. If a range Set has < 256 samples, corresponding values are packed in bytes, and if < 65536 samples values are packed in shorts. But most VisAD memory use is in Java3D scene graphs. If you are using volume rendering, it uses lots of memory. Good luck, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: