Thank you for your reply.
 
I tested my application in Java3D 1.3 and Java 1.4 just before, but the garbage collection still occurs.
 
In both of only BY_REFERENCE mode and BY_REFERENCE+ NIO, garbage collection occurs. T.T
 
Garbage collection occurs if i call updateData function even though updateData function is empty as shown in following code.
 
///////////////////////
...
public void updateData(Geometry geometry)
{
    // empty
}
 
...
geom.updateData(this);
...
////////////////////////////
 
 
----- Original Message -----
Sent: Tuesday, August 20, 2002 1:01 AM
Subject: Re: [JAVA3D] garbage collection problem in updating geometry info

Hi Seungwoo,
 
GeometryArray.setCoordinate() make some exceptions check and then calls GeometryArrayRetained.setCoordinate().
During these coordinate settings dozen of  double are created and garbage collected later.
 
I am not skilled enough to tell you what is  the best thing to do, but I have some problems with garbage collections and I solve this way:
 
- I add the  -Xmx parameter and set it to the max possible, as -Xmx128m or -Xmx198m
- I also add -Xms to the same value or near below, as -Xms96m or -Xms164m
 
You can also combine above tips with -Xincgc  :
- add -Xingc (incremental garbage collection) parameter. The overall system performance drops, but there is less memory consumation, and less "long run" gc. There is several small gc, but have less impact than "long run" gc's.
 
example:
java.exe -Xms164m -Xmx192m -Xincgc MyJava3dApplication
 
 
PS: I am also starting something close to your project. 
I will try to add more realistic movements to characters. 
 
Alessandro Borges
 
 
----- Original Message -----
Sent: Monday, May 13, 2002 11:30 AM
Subject: [JAVA3D] garbage collection problem in updating geometry info

Hi,
 
I'm developing a cloth simulation system. In this simulation, I must update all vertice every frame.
 
So, I've called 'GeometryArray.setCoordinate()' every frame. However, I found that the 'setCoordinate()' occured garbage collection frequently. I checked that the garbage collection didn't occur elsewhere. To solve this, I tried using By_Reference mode, but the result was the same as before. I feel sure that the garbage collection is occurring in internal geometry updating process of Java3D.
 
I'm using Java3D 1.2.1_04 and Java 1.4. How can i avoid the garbage collection. Is this possible if i use Java3D 1.3?(In my experiments, the result using Java3D 1.3 is slower than using Java3D 1.2. I don't know why.)
 
Thanks a lot.
 
Seungwoo Oh
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.377 / Virus Database: 211 - Release Date: 15/7/2002

Reply via email to