From: John W. <joh...@gm...> - 2004-11-22 22:22:41
|
Hi Gerardo: I have been doing a lot of server side programming and some work in searching engines using Java. And I've found Java to be a better choice for precisely the reasons you listed. I just didn't know Java works well for raytracing implementations as well. It's very good to know! I've written a very simple monte-carlo raytracer with primitives such as sphere, cube, torus etc. with texture and bumping mapping. Using the Phong shading model. It is very elementary comparing to jrman. The reason for why I want to help out is that I think it is a very good project and I also want an opportunity to learn more about image synthesis/rendering. Is the plan to incorporating all the features in Aqsis or Renderman into jrman? I'd happy to work on just about anything, any suggestions? In the mean time, I will just get familiar with the code base. Thanks -John On Mon, 22 Nov 2004 15:46:23 -0600, Gerardo horvilleur <ma...@gm...> wrote: > Hi John, > > Sun's implementation of the JVM comes with a HotSpot compiler that > translates CPU intensive methods into machine language. > > Actually there are 2 HotSpot compilers: > > 1. Client: simple optimizations, fast program startup. > > 2. Server: more sophisticated optimizations, slower program startup. > > The -server option is used to choose the server compiler. > > Why can jrMan be faster than Aqsis: > > 1. Java is much faster than most people assume it is. At execution > time CPU intensive methods are translated into machine language. > > 2. C++ can be much slower than most people assume it is. When you > program in C++, if you are not careful enough, it is very easy to > write inefficient code. My own experience is that when using C++ for > time critical code I had to keep checking the machine language code > the compiler was generating to make sure it wasn't doing something I > didn't want it to... This is partly due to operator overloading which > allows you to write something as innocent looking as: a = b + c; and > have that translated into hundreds or thousands of machine language > instructions. > > 3. Memory management is extremely fast in Java. Most people assume > that garbage collection is slow, but they probably have never run a C > program with a profiler turned on. If they did the would discover that > it is quite common to spend from 20% to over 50% of CPU time in malloc > and free (or new and delete if you are using C++). I have rendered > some extremely "memory management intensive" images with jrMan in > which I created billions of objects and had dozens of millions of > "live" objects, and garbage collection acounted for less than 10% of > CPU time. > > In programs with static or very simple dynamic data structures, C (and > sometimes C++) can be quite fast. But if you need to manage very > complex dynamic data structures then you are going to spend much of > your CPU time on malloc and free. > > Of course, you can always program your own memory management code > optimized for your program needs, but when you have a complex > algorithm (like REYES!) it becomes very dificult to know when it is > safe to release a piece of memory. Most C++ programmers seem to like > something which they call SmartPointers, which is basically doing > garbage collection by reference counting. If they spent a little time > reading about garbage collection they would find out that reference > counting is absolutly the worst (performance wise) garbage collection > algorithm! > > Your help is welcome! Is there anything you are particularly > interested in implementing? > > > > On Sun, 21 Nov 2004 23:55:11 -0800, John Wang <joh...@gm...> wrote: > > Hi Gerardo: > > > > Thanks for the info. > > > > It is a little counter-intuitive that jrman is that much faster > > than Aqsis with Aqsis being implemented in C++ and jrman being > > implemented in java. > > > > Can you elaborate a little more in terms of implementation why is or > > what makes jrman faster? > > > > Why and How the -server option improves the performance? > > > > I would like to contribute as a developer, please let me know of ways > > I can help. I have been doing Java programming since 1995 and I did > > some very basic raytracing work at the University of Utah while > > working for Evans & Sutherland. I'd like to learn more by helping out. > > > > Thanks > > > > -John > > > > On Sun, 21 Nov 2004 18:15:41 -0600, Gerardo horvilleur > > > > > > <ma...@gm...> wrote: > > > I just did one quick test with Pixie a few months ago so I really > > > wouldn't be able to make an accurate comparison between Pixie and > > > jrMan. > > > > > > From time to time we compara Aqsis and jrMan and we believe that: > > > > > > 1. Aqsis is, by far, a much more complete implementation of the > > > Renderman Spec. Basically they seem to have implemented almost > > > everything, while in jrMan we still have a big list of unimplemented > > > featurees. > > > > > > 2. From our tests it seems that jrMan is faster than Aqsis. When > > > running both programs on an Intel machine (the Mac OS X implementation > > > of Java is not as fast as the Sun JDK on Intel) jrMan is faster than > > > Aqsis, especially if you use the java -server option. On complex > > > scenes jrMan is about twice as fast as Aqsis. > > > > > > > > > > > > > > > On Sun, 21 Nov 2004 10:35:18 -0800, John Wang <joh...@gm...> wrote: > > > > Thanks Gerardo, I got it to work. > > > > > > > > How does jrman compare with other open source rendering tools such as > > > > Pixie or Aqsis in terms of functionality and performance? > > > > > > > > Thanks > > > > > > > > -John > > > > > > > > On Sat, 20 Nov 2004 19:06:50 -0600, Gerardo horvilleur > > > > > > > > > > > > <ma...@gm...> wrote: > > > > > I assume that by NPE you mean "NullPointerException". Did you get that > > > > > with the sample rib files that come with the jrman 0.3 distribution? > > > > > Please note that some of the rib files in the "model" directory are > > > > > data files that are included in a scene with the "ReadArchive" command > > > > > and are not meant to be rendered by themselves (the README.TXT lists > > > > > the files than can be rendered). > > > > > > > > > > Current status: > > > > > > > > > > We have been very busy this year so we weren't able to advance as fast > > > > > as we would have liked to, but we > > > > > managed to implement: > > > > > > > > > > 1. Patch meshes > > > > > 2. All bicubic basis > > > > > 3. Reduced memory usage on models with a very large number of polygons. > > > > > 4. Delayed ReadArchive > > > > > 5. Better handling of parameters for many primitives > > > > > 6. NURBS (not yet trimmed) > > > > > 7. More fine tuning (and bug fixing!) in the occlusion culling code > > > > > > > > > > All of the above is in the CVS version and we expect to release jrman > > > > > 0.4 shortly (in a couple of weeks?) > > > > > > > > > > We also did some work on the shading compiler, but there's still much > > > > > to do before we can have something ready to release. > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, 20 Nov 2004 12:01:32 -0800, John Wang <joh...@gm...> wrote: > > > > > > Hi folks: > > > > > > > > > > > > What is the current status and directions of the jrman project? > > > > > > > > > > > > I downloaded jrman 0.3 and couldn't get it to work. Keep getting > > > > > > a NPE when parsing the model files. I added worldBeging and worldEnd > > > > > > method calls to get the renderer field instantiated, but then I get an > > > > > > "invalid corrdinate system" and nothing gets rendered. > > > > > > > > > > > > Thanks > > > > > > > > > > > > -John > > > > > > > > > > > > ------------------------------------------------------- > > > > > > This SF.Net email is sponsored by: InterSystems CACHE > > > > > > FREE OODBMS DOWNLOAD - A multidimensional database that combines > > > > > > robust object and relational technologies, making it a perfect match > > > > > > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 > > > > > > _______________________________________________ > > > > > > Jrman-user mailing list > > > > > > Jrm...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > This SF.Net email is sponsored by: InterSystems CACHE > > > > > FREE OODBMS DOWNLOAD - A multidimensional database that combines > > > > > robust object and relational technologies, making it a perfect match > > > > > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 > > > > > _______________________________________________ > > > > > Jrman-user mailing list > > > > > Jrm...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > SF email is sponsored by - The IT Product Guide > > > > Read honest & candid reviews on hundreds of IT Products from real users. > > > > Discover which products truly live up to the hype. Start reading now. > > > > http://productguide.itmanagersjournal.com/ > > > > _______________________________________________ > > > > > > > > > > > > Jrman-user mailing list > > > > Jrm...@li... > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > ------------------------------------------------------- > > > SF email is sponsored by - The IT Product Guide > > > Read honest & candid reviews on hundreds of IT Products from real users. > > > Discover which products truly live up to the hype. Start reading now. > > > http://productguide.itmanagersjournal.com/ > > > _______________________________________________ > > > > > > > > > Jrman-user mailing list > > > Jrm...@li... > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > ------------------------------------------------------- > > > > > > > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Jrman-user mailing list > > Jrm...@li... > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Jrman-user mailing list > Jrm...@li... > https://lists.sourceforge.net/lists/listinfo/jrman-user > |