I believe only the objects in the com.sun.j3d.util.geometry package implement this capability. Other objects should be GCed when removed from the scene graph as expected.
Sean > -----Original Message----- > From: ZACZEK, MARIUSZ P. (MARIO) (JSC-DM) (NASA) > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 05, 2003 10:41 AM > To: [EMAIL PROTECTED] > Subject: Re: [JAVA3D] ? Garbage Collection - memory does not > decrease ? > > > Good point...that did make the garbage collection work > although it causes > you to have > a much larger memory hit from the start since you are not sharing the > geometry. > > But, though this may be a partial solution (or tradeoff) for > Java3D objects > that have > this capability, what about things that don't have a default sharing > capability? > Or do all nodes share info? > > Mario > > > > -----Original Message----- > From: Sean Sylvis [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 05, 2003 12:13 PM > To: ZACZEK, MARIUSZ P. (MARIO) (JSC-DM) (NASA) > Cc: Discussion list for Java 3D API > Subject: RE: [JAVA3D] ? Garbage Collection - memory does not > decrease ? > > > > By default, the Sphere class (and all of the Primitives) share their > geometry. The Sphere class maintains a reference to that > Sphere geometry so > it can be shared when another Sphere with the same properties > is desired. > So, even if you remove the Sphere from the scene graph, it > will not be GCed. > You must set the GEOMETRY_NOT_SHARED capability flag on > Sphere construction > if you do not want this behavior. > > Sean > > > -----Original Message----- > > From: ZACZEK, MARIUSZ P. (MARIO) (JSC-DM) (NASA) > > [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, March 05, 2003 8:49 AM > > To: [EMAIL PROTECTED] > > Subject: [JAVA3D] ? Garbage Collection - memory does not decrease ? > > > > > > Below is a copy of a post someone put to this group in > > 1998!!! There was no > > answer > > in that thread and searching the archives I have not yet found an > > answer...so, I'm > > going to ask you all about it. Do you know how to get back > > the memory after > > removing > > a child from a parent? > > > > I run my code where I have a function to add 3D spheres to a > > 3D canvas: > > > > void addSpheres() { > > for (int i=0; i<1000; i++) > > mainBranchGroup.addChild(new sphere(...)); > > } > > > > Later on I remove the spheres: > > > > void removeSpheres() { > > mainBranchGroup.removeAllChildren(); > > } > > > > BUT, running java -verbose:gc myProgram > > Shows NO decrease in memory....I only see a steady increase > > in memory used > > as I add more > > spheres, but if I remove them I don't see any memory decrease. > > > > I am quite confident I have NO reference to the new sphere() > > anywhere else > > so I don't see > > why the memory should not be released....any > > hints/thoughts/suggestions? ... > > or is this > > a persistent problem in Java3D? > > > > I've also tried the System.gc(); call periodically but I > > find that it does > > nothing for me... > > and by the Javadocs for it I can see that this call MAY or > MAY NOT do > > anything...kind of wierd. > > > > Thanks, > > > > Mario > > > > > > > > >> -----Original Message----- > > >> From: Jon Barrilleaux [SMTP:[EMAIL PROTECTED] > > >> Sent: Friday, October 09, 1998 2:25 PM > > >> Subject: [java3d] garbage collection after removing nodes > > >> > > >> Someone reported on this list a while back that memory was > > not being > > >> freed after releasing a large number of Group nodes. I > > never saw an > > >> answer to this on the list. > > >> > > >> I've observed a similar problem. I create a large scene in a > > >> BranchGroup and add it to my scene. Memory usage goes up. After > > >> removing it from its parent BranchGroup and then running > > System.gc() > > >> the memory usage does not change. I'm pretty sure that I > > don't have a > > >> lingering reference. Repeating this cycle of adding a new > > scene graph > > >> and then removing it only causes the memory size to grow. > > >> > > >> Is this a known bug or am I missing something? > > >> > > >> --jon > > > > > > > > > > Mario > > > > Mariusz Zaczek > > NASA - Johnson Space Center > > Automated Vehicles and Orbit Analysis / DM35 > > Flight Design and Dynamics Division > > Mission Operations Directorate > > Bldg: 30A Room: 3040A > > > > Disclaimer: "The opinions, observations and comments > > expressed in my email > > are strictly my own and do not necessarily > > reflect those of > > NASA." > > > > ============================================================== > > ============= > > 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". > ==========================================================================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".
