SourceForge.net 

benchmarks

performance

Jake2 proves that 3D games written completely in Java can achieve incredible performance with moderate hardware requirements.

The following table shows the framerates of our Jake2 releases. This should give you a first impression of the performance of the current development version.

The fps values are not an absolute performance comparison Java vs C. But they show that at least 60% of C performance are achievable with Java. In comparison with object oriented C++ Code Java would look even better.

The 0.9.2 release shows a big improvent due to the new “fastjogl” OpenGL renderer. The new renderer reduces the number of native interface calls. JNI calls produce a considerable overhead and were the main bottleneck in our application. Jake2 0.9.2 can achieve up to 85% of the framerate of the C version. It depends on the relative performance of the CPU and GPU. With version 0.9.3 we almost closed the gap, mainly by reducing the number of memory allocations inside the game loop. But as you see the Java support for fullscreen modes is still not where it should be. The new release 0.9.4 brings yet another incredible performance boost. Some simple optimizations (vector arrays, optimized memory handling in loops etc.) show remarkable effect on performance and there surely is still room for further improvements.

 

System

Original
C Code

Jake2-0.9.1
JRE1.5
jogl

Jake2-0.9.2
JRE1.5
fastjogl

Jake2-0.9.3
JRE1.5
fastjogl

Jake2-0.9.4
JRE1.5
fastjogl/lwjgl

AMD Athlon XP 2400
Geforce4 MX
Windows 2000
800x600 window

245 fps

172 fps

213 fps

241 fps

260/250 fps

AMD Athlon XP 2400
Geforce4 MX
Windows 2000
800x600 fullscreen

315 fps

not supported

225 fps

235 fps

250/282 fps

AMD Athlon XP 2400
Geforce4 MX
Linux
800x600 window

262 fps

141 fps

212 fps

215 fps

228/240 fps

AMD K6-2 350
Geforce2 MX
Windows 2000
800x600 window

56 fps

21 fps

31 fps