Florin,

I'll give you an example which was posted few weeks back in this forum. This
gives the problem of memory in certain kind of scenegraph.
In this we are trying to create 'n' shape 3Ds with there individual TGs.
This is for a molecular viewer where the geometry(would be shared) will be
spheres or cylinders.

The scene graph looks like this:

BG->TG(n numbers)->Shape3D(n numbers)(No Geometry or Appearance added)

Note that each of the Shape3D was added to a TG and then the TG was added to
the BG.  So the BG has n TGs with a Shape3D in each. The following were the
results:

n       Memory Used (MB)
======================
1000            3.7
2000            8.1
3000            12.5
28000           115

The above memory requirement is only for the empty shape3D objects and the
geometry hasn't been attached yet, which makes the matter even worse. I
could not find ANY WAY TO REDUCE THIS MEMORY. In OpenGL I can do all this
matrix manupulation at the rendering time. Or make my own TG object which is
not as heavy as Java3D's TG.

regs,
nitin

I'm attaching the original post by Ranjan George on this

>>>>>>>>>>>>>>>>>>>>>>>>
Hi All,
Been struggling with this issue for quite a while now.
Requirement: To be able to display a molecule using spheres (for atoms) and
cylinders (for bonds between the atoms) on the Canvas3D.  The size of the
molecule can range from 1000s of atoms to 10000s of atoms.  Number of bonds
per atom can be averaged at 2 to 3 per atom.  Am giving you these figures so
that you have an idea as to how huge and complex the molecule can be.

I need to be able to make this molecule display on a machine with a basic
configuration of 128MB RAM.  Hence I performed the profiling for the
following graph:

BG->TG(n numbers)->Shape3D(n numbers)(No Geometry or Appearance added)

Note that each of the Shape3D was added to a TG and then the TG was added to
the BG.  So the BG has n TGs with a Shape3D in each. The following were the
results:

n       Memory Used (MB)
======================
1000            3.7
2000            8.1
3000            12.5
28000           115

The last one probably representing a molecule size of 7000 to 8000 atoms and
gives OutOfMemory exception unless I give the -Xmx option to the JVM.
NOTE THAT EVEN THE GEOMETRIES OR APPEARANCE HASNT BEEN ADDED AND I CANNOT
SHARE SHAPES AS EACH ATOM MAY HAVE A DIFFERENT APPEARANCE.
Even with the -Xmx option the system becomes pathetically slow as memory is
used from the hard disk.

How do I solve this problem and minimize my memory utilization??  Any
thoughts on the above will be most welcome as I have tried all sorts of
things.

The root of the whole problem seems to be becos Java3D does not give an
option of working on persistant data and neither provides any interfaces
which allow you to enable it to do so.

I know this is a long mail.  Hope you have the patience to go through it.

Thanks in advance.

Ranjan

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to