well i had put the development of this project on hold but have recently got back into it.
I have decided to scrap the original version of the render in favour of a new clean build from scratch but with all the knowledge from the first version.
In doing so i have found two very interesting facts which are related:
1. Upgrading to java 6 has doubled the performance of the current version of the engine
i am amazed and pleased!
2. Upgrading to java 6 had meant that my embedded pack200 in a jar trick does not currently work
so instead of the new engine being 2.24k it is 2.43k. (this is due to java 6 being more strict on the binary class structure, i have some ideas to fix this however)
I would like to know if this performance boost is universal and just not a quirk of my system, please download the jar
and test it on different versions of java if you have two or more installed on your system. Also i would love to know how long it takes to render the image on different hardware. Currently on a core T5500 1.66Ghz it renders in 2.344 seconds on java 6 compared to 4.391 on java 5.
The current version is a naive raytracer in that it does not currently have the optimisations of the old version. It renders a scene with 256 spheres, and displays the image. I am attempting to optimise (in both speed and size) this naive raytracer using algorithmic, flow and java language optimisations first before adding in the optimisations and tricks i learnt in the first version.
It will be tricky, but i hope to fit the final optimisations such that the engine is 3k or less allowing 1k for game code... probably too ambitious i think.
Note: the jar is bigger than 2.43k as it is a executable jar for convenience.