Hi Doug,
thanks for your answer. Effectively, the garbage collector is regularly called
and that was the cause of my problems. As you suggested it, I have reviewed my code
to make sure that all my transforms are reused instead of beeing recreated.
After all the modifications I made, the gc is still but less often called. I am
running
the app on a bi-pentium 300 with a fire GL 3000 and even with such configuration
the gc makes the renderer stop which is really not acceptable for a RT appli.
As Gerd mentions it, it seems that setTransform() which is very often called in my
application
burns a lot of memory.
Yet I have another question concerning the following code :
public class blablabla ...
{
TransformGroup tg = null;
Transform3D trsf = null ;
public blablabla()
{
tg = new TransformGroup();
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
trsf = new Transform3D();
tg.setTransform(trsf);
}
public void modifyTransform(Vector3d v) // often called
{
trsf = setTranslation(v); // problem here ....
}
}
The modifyTransform function has no effect. It seems that the transform group has
lost track
of its transform3d. It is working if I add tg.setTransform(trsf) which seems to burn
memory.
If I replace this function by the following one :
public void modifyTransform(Vector3d v) // often called
{
Transform3d trsf = null;
tg.getTransform(trsf); // problem here ....
trsf = setTranslation(v);
}
an exception is thrown because trsf is NULL ...Can somebody explain me why ?
(the capability flags have been set correctly I think ...)
Thanks in advance ....
Pascal
----------------------------------------------------------------------------------------
Pascal Debarge / Computer Graphics Engineer / Animation Science
e-mail : [EMAIL PROTECTED]
tel (408) 543 1615
=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/