These are the questions mostly to Java3D developers but if anybody else has the answers I will be grateful to know them.
1. Does setting the vertex format of geometry as BY_REFERENCE really help save memory? The memory usage does not change if we use regular methods but Ref ones. When profiling in BY_REFERENCE mode we can also see that Java3D classes are holding to the references of user arrays and internal "vertexArray"s, that are probably interleaved. Our data is not interleaved.
2. Another memory concern is an abundant number of Transform3D's that also can be seen in profiler. In the example that we are using we have about 2K TransformGroup's, 2K Group's and 4K Shape3D's. Even though we explicitly clear ALLOW_LOCAL_TO_VWORLD_READ capability bit on Shape3D's and TransformGroup's there are still about 8K Transform3D's in memory. So are local-to-world matrices stored even for nodes that do not require them?
3. I noticed that the bug in automatic computation of bounding boxes for the shapes with geometry in BY_REFERENCE mode is still present in 1.2.1. Was it ever reported? The boxes are mostly calculated correctly but Xmin is set as Zmin, Zmin as Xmin, and max numbers are correct, if I remember it right.
-Yuri
