Hello all, As mentioned previously, we have implementated a graphics engine that renders skinned articulated rigid bodies in real-time. Our first implementation of the inter-joint polygons (the ones that move and shift as an entity moves) used by-copy data structures and the setCoordinate method of GeometryArray. After profiling, we realized that the setCoordinate methods were using the bulk of the processing time in rendering. This seemed strange to us since the semantics of this call is a simple copy operation of a small object. We then re-implemented the algorithm using by-reference geometry for these inter-joint polygons (via the updateData callback) and the performance improved *considerably*. Now, of course, we are, in a sense, "manually" doing the same copy that the setCoordinate was doing, but in a callback that has stronger semantics wrt concurrency. Is it the case that setCoordinate, and similar by-copy update methods on geometries, are synchronized, and this is causing this surprising behavior? If not, what might be contributing to this problem? We are happy with our current result but the corresponding memory usage increase (discussed at length previously wrt indexed datasets, especially vertex coloring) does not make us happy. Perhaps this tradeoff should be documented somewhere in the API? Thanks, Joe Kiniry -- Joseph R. Kiniry Chief Scientist DALi, Inc. =========================================================================== 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".
