RE: General Advice

Java 3D itself has had a design goal of high performance, and so takes 
advantage of multi-threading, advanced culling operations, level of detail 
support, native hardware acceleration, etc., but, as always, the specific 
operations you require need to be investigated. Here are some links that have 
been reported on the Java 3D discussion list regarding general Java 3D 
performance issues:

        
http://java.sun.com/products/java-media/3D/collateral/1.2.1.perfguide.html
        http://trapdoor.surak.com.au/~chris/home/java/j3d/PerformanceSutras.html

Regarding the large datasets, the Java 3D 1.3 currently in beta will support 
the NIO buffers coming in J2SE 1.4, 
http://java.sun.com/j2se/1.4/docs/guide/nio/, but I'm not sure how VisAD will 
handle them.

        Dave Homiak
        dhomiak@xxxxxxxxxxxx

> -----Original Message-----
> From: steve smith [SMTP:sas@xxxxxxxx]
> Sent: Tuesday, January 08, 2002 4:47 PM
> To:   visad-list@xxxxxxxxxxxxx
> Subject:      General Advice
> 
> Visad-compatriots -
> 
> I've been on this list for nearly 2 years and watched this community 
> grow and mature during that time and I  know there is a great deal of 
> expertise and wisdom collected here in the general arena of scientific 
> visualization, information visualization and java/java3D.
> 
> I have written a little Java3D w/o visad and used visad 2D/3D plotting 
> in limited ways but have not gone deeply into either one.  I've got more 
> experience with C/C++ and OpenGL but much prefer Java/Java3D and really 
> like what I see in Visad and the many uses it has been put to here by 
> all of you.
> 
> I'm working on the requirements and specification for a fairly ambitious 
> project to unify a number of different simulation and analysis tools 
> developed here with a single UI and set of Viz capabilities.  
> 
> I have no doubts about Java/Java3D and especially Visad's relative 
> leverage and portability from a developers standpoint but I do have to 
> answer criticisms and questions from many sides about it's effeciency.  
> 
> As many of you are doing scientific/information visualization, I am sure 
> you are always pushing the performance limits of Java3D as well as 
> perhaps Visad's and Java's ability to render and manipulate large, 
> complex and heterogenous data structures.  
> 
> What I'm looking for is some "instant wisdom", if there is any to be had 
> around the obvious issues in performance that we will encounter using 
> Java3D.  
> 
> 
> Thumbnail sketch:
>     Various large (multi-year, multi-person) models have been developed 
> here and simulations written to study regional, national and global 
> infrastructure problems.   Highway transportation, electrical power, gas 
> pipelines, air traffic, rail traffic, communications and related 
> infrastructural networks are all examples of the general problem domain 
> that we have been working from many angles.   For the most part these 
> efforts were seeking relatively specific answers to relatively specific 
> questions when they were started but new and more general questions have 
> been asked along the way and these various simulations and models are 
> being asked to relate to one another, to feed into eachother, et cetera.  
> 
> Each of these simulations generates extremely large amounts of data when 
>  run in earnest and the various tools used to visualize and analyze the 
> results were developed to provide overly narrow capabilities and cannot 
> be extended/expanded easily or they are commercial tools with only the 
> most general capabilities such as S+ or XGobi for example.
> 
> All of these infrastructure domain areas have some georeferencing... 
> some sense of being registered in a space defined by a few thousand 
> meters underground/sea to earth orbits... with the bulk of them a few 
> meters from the earth surface.   The scale of interest ranges from 
> meters to continental, if not global.    The majority of the data is > 
> structured naturally as discrete points in space with some existence and 
> evolution over time and/or networks/graphs over time.   Some of the data 
> is field oriented over areas or volumes and many fields can be imagined 
> to be derived which would help in analysis (density distributions of 
> various quantities such as population or resources or financials or even 
> weather as it relates to reliability or usefulness of various networks).  
> 
> I know this sounds really aggressive and it is, but by trying to 
> apprehend the whole scope of the problem I hope to be able to specify a 
> subset of it which will reap much of the low-hanging fruit without 
> limiting long-term capabilities.  
> 
> When I have looked at Visad, I do not see a lot of specific support for 
> network/graph-like structures but I may be missing things and may not be 
> creative enough to see how some of the other structures such as 
> arbitrary mesh data might be useful.  
> 
> I apologize for the long-winded description but if any of you have been 
> curious enough to read the whole mess and have any ideas, input or 
> pointers to similar projects or other tool suites, I would appreciate 
> the feedback a great deal.
> 
> Thanks,
>   Steve Smith
>     Decision Support and Analysis
>     Los Alamos National Laboratory
>