> 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).
With a stack dump we will at least know where it gets the
Exception. You might also experiment with increasing your
swap space and the size of your JVM.
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738