With this release, Oracle is providing full availability of Java SE 7 Update 6 on Mac OS X, including the Java Runtime Environment (JRE) and the Java Development Kit (JDK), as well as the JavaFX 2.2 rich client platform and JavaFX Scene Builder.
Mac OS installer has a number of issues I’m reading about. Not bad for a first cut but really I think its main use will be in embedded JREs now rather than as a separate install.
The ARM JDK (yes, did you notice it?) is broken on Raspberry Pi because it’s been built with softfp instead of hard. Doh. Hopefully RPi foundation are chasing them about this.
Otherwise very enthused about JavaFX getting H264.
JavaFX is getting H264… cool… only you need to pay license fees to distribute content in that format with a game. Its only free for free web streaming.
The cacao VM won’t start up - some Java exception about security hashes not matching - the JamVM is 450x slower than my desktop - and the IcedTea Zero VM is 950x slower than my desktop. Measured. I need better performance frankly. Last time I used the Sun JRE on ARM it was blinding fast.
I was trying to use JDK 7 to run the Tekkit server (a mod for Minecraft) and amusingly enough running the client in Java 7 crashes, and I can’t run the server in Java 6. Hm… :clue:
JavaFX: This is the best GUI framework for workstation GUIs, but that’s a really shrinking niche. This isn’t useful for games at all.
Java 7: Tons of minor improvements on Java 6. A lot of runtime cleanup, newer File I/O APIs, and InvokeDynamic lays the groundwork for future improvements.
Mac/Win/Linux: Finally. Now Java 7 and JavaFX have full, real parity on all major workstation platforms: Mac/Win/Linux.
I’m disappointed that they haven’t been improving the pipeline for creating OpenGL apps and don’t seem to have any intentions of doing so. Likewise they haven’t been participating at all in smartphone app development, however this is the first time I’ve seen them mention embedded support in a while.
Java 8 has some really major improvements coming: lambdas (finally!), major VM enhancements (JRockit integration, no permgen), major library improvements (collections are a big one, date/time is smaller but very needed). I’m glad Java 8 already has full Mac/Win/Linux parity in it’s milestone builds.
This is a known issue.
Cacao only work well for armel and OpenJDK-6. Speedwise its quite good especially on low end arm systems like the Raspberry Pi.
the JamVM is 450x slower than my desktop
How is JamVM to drive OpenGL intense application on your desktop?
When i test JamVM on arm its then Oracle is only 4x faster.
I will below try to give a honest and colorful view on the speed difference between the Oracle JVM on ARM and all current FOSS options.
It is a common mistake to expect that the speed of zero on the desktop will match the speed of zero on ARM
especially because we are maintaining some addons for Zero inside the IcedTea project
an assembler optimized main loop for zero on arm. and
we maintain a thumb2 jit also for arm.
You can tell if you run the assembler optimized and thumb2 jit enabled version if your java -version output if it say Zero Mixed-mode
of course if we test on the Pi then we can only use the assembler optimized interpeter.
Zero interpreted-mode is what you run on the desktop.
Testing on “high” end armv7 cortex-a9 pandaboard
I have bench marked the speed difference between Zero on ARM and the current hotspot found in the Oracle JRE and JDK by using the DaCapo-9.12-bach benchmark.
Clearly the Oracle C1 and C2 jit are doing a great job, especially for the sunflow raytrace benchmark. On most of the benchmarks Zero is “only” 2.5 times slower.
Testing on “low” end armv6 raspberry pi
The raw numbers:
For best results:
Use ahead of time compilation using GCJ on the Pi running armhf.
For good results try:
Oracle JDK 7u6 on armel.
CACAO gives good results for armel and openjdk-6.
Avian also gives good results for armhf and openjdk-7.
JamVM gives ok results for armhf and openjdk-6/7.
The montecarlo benchmark is interesting, here the Oracle JDK clearly got an advantage by being 4 times faster compared to all FOSS options.
For running OpenGL ES 2 content all the JVM can render some spinning gears at 60fps fine without stuttering on the pi in 1980x1080 reolution using JOGL on the Pi.
I will try post a benchmark measuring CPU load using the various JVM options when doing so.
Oh right. sorry for hijacking this Mac OS X thread.
Great post xranby/xerces, please hang around and post more
My main goal is to get the bestest, fastest implementation of Java on the latest Raspberry Pi using hard float, and then have a think about getting LWJGL running on the device so I can experiment with game code.
Sounds fun!
Would it be possible to add a new sub forum “Java SE” in the Java on Mobile Devices forum?
There currently do not exist a good place for OpenGL ES 2 + Linux on mobile/embedded devices chats, we are running “javase” on these small devices.
I just got my Raspberry and I’m looking forward to writing games against it. I’ve spent a lot of time using debian in the past so I’m familiar with that OS. Once the JVM is working with hard-float on Raspian I’ll make the switch over.
You are correct in that that category is missing. Having said that, there are an infinite number of missing categories on this forum.
Once there is considerable number of threads regarding that topic, I will create a sub forum for it and move all related threads to their new cozy home / hideout. In the meantime, the [OpenGL Development] sub forum seems a good fit.