>Just to give you an idea about the dimensions:
>My biggest scene uses more than 500 Shape3Ds, every with at least one
>BranchGroup and one TransformGroup (and of course some are textured).
>With some additional Groups which organize the data that makes much
>more than 1500 elements directly within the SceneGraph
>(Tranfrom3D-objects, GeometryData and so on not counted). Of course
>this scene needs some memory (and I had to increase the memory size the
>JVM uses with the option -Xmx) but I can't say that there is a big
>memory leak which makes working with such a scene impossible.
>So I really don't know why you have that big problems.
======================================================================
We're speaking about different cases.
My scenes are quite small now, but I creating several hundreds canvases with
these scenes.
For example, my test suite contained about 30 canvas3D creation inside ejb
method. After running it 4-5 times, it takes out all 512 Mb RAM plus 400 Mb
swap.
Here is rough example (rough because I've forgot a details since I throw off
this code 2 monthes ago):
someEjbMethod()
{
//here I have 512 Mb of memory
Canvas3D myOffscreenCanvas = new Canvas3D(...);
SimpleUniverse myUniverse = new SimpleUniverse(myOffscreenCanvas);
//making scenegraph, attaching it to canvas, performing computations, etc.
...
//
myUniverse.removeAllLocales();
myUniverse.cleanup();
System.gc();
//here I have 490-500 Mb of memory :()
}
It seems that canvas3D does not free all memory after its disposing.
======================================================================
>When you render off-screen, you have to switch the "frames" manually -
>so where is the problem in triggering the related Behaviors manually
>too? Thats what I did for an off-screen-scene.
======================================================================
Well, here is example related to WakeupOnElapsedFrames criterion:
...
void algorithmA(Canvas3D myOffscreenCanvas)
{
for (int i = 0; i < 50; i++)
{
myOffscreenCanvas.renderOffscreenBuffer(); //here is manual frame flipping
myOffscreenCanvas.waitForOffScreenRendering();
}
}
How can I trigger those behaviors that depends on WakeupOnElapsedFrames(0)
criterion ? This criterion won't work in this case, so these behaviors will
never work from this code. And I want to use this criterion because I want
my behaviors to be invoked in each frame, not less, not more.
===========================================================================
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".