Bill Hibbard wrote:
> Hi Bob,
> > Who else out there is working with larger data set sizes? I'm trying to
> > render isosurfaces from a 128 x 128 x 128 (2,097,152) volume data set and
> > I'm getting an java.lang.OutOfMemoryError error. Has anyone else had
> > success with this data set size or larger?
> > I'm running Red Hat Linux with 128 megabytes of RAM. I'm also running
> > the Java Virtual Machine with a maximum heap size of 128M. e.g.
> > % java -Xmx128m Application
> > I'm not sure where things break down. I wonder if it's somewhere in the
> > Gridded3DSet.class. I know it outputs the error before the call to
> > Gridded3DSet.makeIsoSurface(). Whoever has had success, how much memory
> > are you using and what is it that you are rendering?
> > -cheers, bob
> > PS 64 x 64 x 64 (262,144) seems to work fine.
> If you can provide the stack dump from the
> java.lang.OutOfMemoryError that would tell us where it is
> failing. Even better, run under jdb (if you have enough
> time to wait for it to process a 128x128x128 dataset) and
> send us a stack dump with line numbers.
> I am surprised it is before the call to makeIsoSurface,
> since that uses a lot of memory. A data grid of 2M points
> will expand into 2M sets of floats for grid values plus
> 2M floats each for X, Y and Z coordinates. These 8M floats
> will use 32 MB. If you have any RealTypes mapped to colors
> there will 2M each for R, G, B and maybe alpha, or another
> 24 MB or 32 MB. This should fit in 128 MB.
> Usually our OutOfMemoryErrors come from Java3D, since it is
> a real memory user (this is supposed to be improved in Java3D
> version 1.2, but that is still in beta and we have not yet
> modified VisAD to take advantage of its memory improvements).
i've been running into problems opening large datasets myself. i'll get
some error output together and send it in.
Something I've noticed, with regard to Java3D, that's particularly
vexing is that it doesn't seem to to garbage disposal very effectively,
if at all. If I take one data set, and then start to visualize in
different ways, more and more memory is steadily consumed, never to be
made available again. Is this just a WinNT issue, or is it the case on
other platforms as well? IS this something the new Java3D is supposed
along these same lines, i have a little app i wrote that reads ASCII
data files, builds a VisAD data structure with the data and writes out
netCDF files (for use with the SpreadSheet). these netCDF files are
signifigantly larger than the ASCII! 2.6 Mb of ASCII data becomes a 4.6
Mb netCDF file. is this expected, or is it likely i'm doing something