Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
I have been investigating VisAD memory use by: 1. Working on VisAD's code for transforming data into depictions. 2. Using Bill Foote's Java Heap Analysis Tool (available from http://java.sun.com/people/billf/heap/) to analyze memory use. 3. Email exchanges with the Java3D developers at Sun. So far, the results of this effort are: 1. VisAD memory use has been greatly reduced, including unnecessary copies of data, lingering references to no-longer-needed arrays, and using byte[] arrays in place of float[] arrays for colors. I described this work in a previous email and at least one user pointed out that it didn't help. This is because: 2. Most VisAD memory use is inside of Java3D. For example, large GeometryArrays are copied on the way into Java3D, colors in byte[] arrays are converted to float[] arrays internally in Java3D, and memory-efficient IndexedTriangleStripArrays are converted to less-efficient TriangleStripArrays internally in Java3D. 3. Java3D version 1.2 will fix some of these problems. For example, it will be possible to pass GeometryArrays into Java3D without copying. Please be assured that reducing memory use and increasing speed are top priority issues for VisAD. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 whibbard@xxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: