Hi Nitin,

strange requirement. Why would you need to visiualize 50K spheres?
Have you thought about displaying points instead and having a nice LOD
behavior that replaces the point by a sphere once you are at a distance to
notice that it should be a sphere.

Or, say, you replace the spheres by a quad with a texture showing a sphere and
use the texture alpha channel to make the (black) texture background invisible.
you'll need a global billboard behavior that adjusts the quads to always face
the user.

both solutions (as far as they can be considered as solutions for your
requirements) will
show a much lower memory footprint and of course improve performance.

Take care,
Karsten



"Nitin.Jain" wrote:

> Chein,
>
> Thanks!
> That was really amazing to see how things changed by sharing the geometry
> rather than using SharedGroup. But still I'm getting defeated in the number
> game...if I increase this number of spheres to 20K(my requirement is 50k) it
> again gives me out of memory exception...I'm really worrying now whether
> this  kind of stuff is possible using java3D or not >:-( ???
>
> > -----Original Message-----
> > From: Chien Yang [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, April 03, 2002 11:46 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [JAVA3D] A basic doubt
> >
> >
> > Attached is a program that illustrate a better approach to setup a
> > scene with 5000 identical spheres. On my machine, I've a 4X speedup
> > in setup time.
> >
> > Using Link and SharedGroup is a intuitive way of sharing similar shape
> > node in a scene graph API. It's pretty effective if the
> > sharing is limited
> > and small. There do come with some cost in both  memory and
> > setup time,
> > but almost no cost in pure rendering performance (once it is setup).
> > This setup cost might not be linear, depending on scene arrangement.
> >
> > For your program, all you need is to share geometry and there isn't
> > a need to use SharedGroup. I only need to change a few lines of
> > code. BTW, I also replaced MouseRotate with OrbitBehavior for
> > better interaction.
> >
> > - Chien Yang
> >   Java 3D Team.
> >
> >
> >
> >
> > > Date: Tue, 02 Apr 2002 19:22:05 +0200
> > > From: Artur Biesiadowski <[EMAIL PROTECTED]>
> > > Subject: Re: [JAVA3D] A basic doubt
> > > To: [EMAIL PROTECTED]
> > > MIME-version: 1.0
> > > Content-transfer-encoding: 7bit
> > > X-Accept-Language: en-us, en
> > > Delivered-to: [EMAIL PROTECTED]
> > > User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> > rv:0.9.9)
> > Gecko/20020311
> > >
> > > Nitin.Jain wrote:
> > >
> > >
> > > > I saw the Sphere code in the repository but it seems this
> > sphere doesn't
> > > > share the geometry, in that case it will eat up huge
> > amount of memory for
> > > > each instance. Anyway I'll try this.
> > >
> > > Even if it is a case, you can take out geometry by hand. It
> > can be done
> > > currently I think, in case of problems, modify it a bit.
> > >
> > > > Could you give me some pointers on optimization. I'm
> > creating only one
> > > > Shape3D and using them with Link. The Tranform3D which is
> > assigend is also
> > > > created only once.
> > >
> > > I was thinking that you were doing certain mistake, but
> > after looking at
> > > code again it is not there. So only part now is to not use standard
> > > Sphere with quite costly GeometryData - but I don't know if it will
> > > create noticeable difference.
> > >
> > >
> > > >>            percent         live       alloc'ed  stack class
> > > >>   rank   self  accum    bytes objs   bytes objs trace name
> > > >>
> > > >>     94  0.11% 87.51%    20016    1 50080000 5000 10593
> > > >>javax.media.j3d.CachedTargets
> > > >>     95  0.11% 87.62%    20016    1 50079984 4999 10601
> > > >
> > > >
> > > > I never got this "CachedTargets" object in my profiler,
> > can you tell me
> > > > which profiler are you using?
> > >
> > > -Xrunhprof:heap=sites,depth=20
> > >
> > > :)
> > >
> > >
> > > > I couldn't quite get it...what do you mean by non-array object.
> > >
> > > int[] i = new int[100000];
> > > takes up 400kb. No problem. But if you want to create
> > normal (non-array
> > > object) which will take up so much memory, you would have
> > to add 100000
> > > fields by hand... So if any object takes up 20kb, I'm
> > suspecting some
> > > mistake in profiler (either plain error or Hotspot inlines
> > some array
> > > data at end of object - is this possible ?)
> > >
> > > Artur
> > >
> > >
> > ==============================================================
> > =============
> > > 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".

Reply via email to