> From: "Dvorak, Daniel J." <[EMAIL PROTECTED]>

> I have about 25000 geometries stuffed into one Shape3D
> ....
> Using a couple of strategically placed "System.out.println()" statements, I
> have measured that it takes about 400ms to get the PickResult, and another
> 880ms to get the index of the geometry that was picked.  This is quite a bit
> longer than it takes to resolve the picked geometry when I use a separate
> Shape3D for each polygon.  I'm stuffing all the geometries into one Shape3D
> to reduce the memory requirement, but it's not worth the severe slowdown.
> Any ideas on how to make it faster?  Any work going on to make it faster in
> the release?


One way to speed up your picking may be to use slightly smaller "chunks" for
your geometric data.

Picking proceeds in two passes.  The first pass selects Shape3D nodes that may
be picked by seeing if their bounds intersect the pick volume.  The second pass
intersects the pick shape with the geometry to determine the shapes that were
actually picked (this is assuming that you are doing GEOMETRY picking, BOUNDS
picking stops at the first step).

If you can divide your 25000 geometries into smaller groups, say 250 shapes with
100 geometries per shape, you may get much better performance.  The speedup will
depend on the spacial locality of the shapes.  If you can eliminate most of the
shapes on the bounds pass you can greatly increase the speed of picking.
Experiment with different numbers of geometry per shape to come up with the best
balance for your application.

Doug Gehringer
Sun Microsystems

===========================================================================
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