I’m glad to see that you fetch this topic again…
I try to summarise the bug:
Starting with JDK7 Apples Quartz based rendering pipeline isn’t available
anymore. So JDK7 and higher uses the OpenGL based pipeline on MacOSX. After
hours of analysing my conclusion is that BufferedImage isn’t implemented via
VolatileImage anymore (but it was in Apples JDK6).
So if you render BufferedImages in JDK7/8/9 the rendering performance is very
slow. The only solution right now is to use VolatileImages directly.
So what’s missing in JDK7/8/9 is the VolatileImage based implementation of
BufferedImages….This leads to an unusable JDK on Mac OS X right now. By the
way: That’s the reason why big Java based desktop software like IntelliJ
doesn’t provide a JRE 7/8 bundle IntelliJ for Mac OS X at the moment…
So my conclusion is: JDK7 and JDK8 are not in beta stage and not finished on
Mac OS X! I don’t understand why Oracle has released it as ready….
Hope to see a solution in the near future, otherwise we can’t use Java Swing on
Desktop on Mac OS X anymore…
> Am 04.08.2014 um 17:40 schrieb Florian Bruckner (3kraft)
> to start with a disclaimer: I know that this list is not for end user support
> - I'm not looking for support but would like to offer my help in fixing an
> issue with graphics performance on osx.
> With java6, graphics performance was fine on my MacBook Pro Early 2011.
> Starting with Java7, graphics performance has been worse by an order of a
> magnitude, and it is even getting worse with a big screen attached
> (2560x1440). There also seems to be a dependency on the number of java
> processes running. For example running NetBeans on the big screen in that
> configuration with java7 or java8 is just slow but still usable, it starts to
> become a nightmare if SQLDeveloper is started at the same time. If just
> enough java processes are launched it gets as bad as a full lockup, only a
> hard reset would help in that case.
> If this had been the case with java6 as well I would not be concerned and
> just jump over to an apple store to get a new machine. The interesting part
> is that with java6 everything is fine, but not with java7+.
> Browsing through JIRA and NetBeans Bugzilla, I have found this ticket that
> may be related to this: https://bugs.openjdk.java.net/browse/JDK-8029253
> Note that this talks about a retina display (which my machine does not have).
> Running OpenGL profiler on my machine exhibits at least similar data to the
> data attached to the ticket. So there seems to be a dependency on the screen
> Another note here is that also JFX on java7 influences performance/exhibits
> bad performance (which, to my knowledge, should not use Java2D, but maybe the
> backend implementation is the same?)
> Are you guys aware of a performance regression from java6 on osx? Is this
> something you think is worth investigating?
> If yes - I can offer systematic testing on a range of different MBP models,
> starting with pre-unibody MBP up until quite recent retina MBPs, all attached
> to the same screen to get comparable results. Building and modifying the
> rendering pipeline is unfortunately beyond my capabilities (at least without
> your support).
> Just let me know what you think.
> thanks and regards,