Skip to main content

Leopard changed the Java2D pipeline of Java 5 (and other Leopard+Java updates)

Posted by fabriziogiudici on October 30, 2007 at 4:30 AM PDT

Apart from specific SWT-AWT stuff that is related to Eclipse, one of the most common things that could happen are differences in font rendering (antialiasing) and speed changes in Java2D stuff, imaging included.

That's because the JDK 5 with Leopard doesn't use any longer the Quartz pipeline by default, but the Sun one. What's a "pipeline"? In a few, incomplete words, it's the way Java2D is implemented natively. There's a Sun default pipeline, an OpenGL pipeline - only on Sun VMs - and a Quartz pipeline - only on Mac OS X. A few months ago I blogged a bit about the possibly huge performance differences with imaging operations and different pipelines.

The easiest why to restore things as they were is to add this option to your application:

I didn't have time to test it yet, I'll do in a few days. In the meantime, let us know if this solves the problem. BTW, Apple hadn't published the Release Notes about JDK 5 (or Leopard itself), but they say they'll be doing it soon.

PS The Java blogsphere is full of angry people, but somebody is asking for calming down, basing on the fact that Apple historically released JVM major updates by not bundling them in the newest Mac OS X, but as a separate download (as this practical diagram by Eric Burke describes). So, it might be a matter of days or weeks. I know and in my previous post, indeed, I said I'd wait for a few days.

But this is not the point. I'm amazed as people miss this point so easily. Should we make our decisions / advicing / consulting about inducing from the past that maybe Apple will release Java 6 shortly? My belly says it's highly likely to, but induction is not guaranteed to always work.

Technorati Tags: , , ,