Print at May 30, 2020, 5:39:03 AM

Posted by mossroy at Aug 1, 2010, 7:06:07 PM
3D view performance on Ubuntu, with different JVMs
Hi all,

Just to share my little experience on the performance of 3D view on Ubuntu.
On my configuration (Ubuntu 10.04 64 bits, Intel graphic card bundled inside my Core i5 650), there seems to be huge performance differences, depending on the JVM I use.

If I download the .tar.gz version of SweetHome3D (including the Sun JRE 1.6.0_20), the performance is excellent : moving inside the 3D view is smooth and easy to use
If I launch it with Java Web Start (the one that comes with icedtea6-plugin package, that launches it under OpenJDK version 6b18-1.8-4ubuntu3), the 3D view is extremely slow, and unuseable.

It's a pity because, on Ubuntu 10.04, openJDK 6 is now the default JVM (instead of Sun Java 6)
OpenJDK is almost the same as Sun JVM, except that all the proprietary pieces of code have been removed and replaced by some open-source ones.
OpenJDK is making the transition to the JDK 7, which will be fully open-source, and officially released with GPL license by Sun/Oracle.

I tried to tweek the command line of SH3D under OpenJDK, to see if I had to activate some hardware acceleration, but did not find any way to improve the performance.

I tried with different JVMs :
- Sun JVM 1.6.0_20 : OK
- OpenJDK 6b18-1.8-4ubuntu3 (default JVM in Ubuntu 10.04 repositories) : KO
- OpenJDK 6b20.1 (from ) : KO
- nighlty snapshot version of jdk 7 : OK

My understanding is that openJDK 6 lacks some optimizations that are included in Sun JDK 6 (proprietary), and in the future JDK 7 (open-source).
Maybe it comes from some less optimized code replacements (see for example , in paragraph 3 of section "Non-open Java 2D source code")
Maybe it comes from some hardware acceleration that could not be enabled (see )

I hope JDK 7 will be released soon...

I made these tests with version 2.4 of SH3D.
I would be very interested to have some feedback of other users, with other hardware configurations : different graphic cards, 32 or 64 bits, other linux distributions etc