Integrated vs. Discrete Graphics on OS X

Scott Palmer swpalmer at
Mon May 25 18:03:23 UTC 2015

Yes, I appreciate that the "magic flag" in the Info.plist would just be a
signal to do something tricky.
I tried setting -Dprism.order=sw in the Info.plist, thinking that would
trick things into not requiring the discrete GPU, but all that happened
when I did that was that I ended up with a pixel-doubled window instead of
nice crisp retina graphics.  It still activated the discrete GPU.


On Mon, May 25, 2015 at 12:03 PM, Mike Hearn <mike at> wrote:

> I believe the tricky part is not setting the magic flag in your Info.plist
> file but rather handling the GL context changes on the fly. It
> requires/would require some code in the Mac GL specific part of JavaFX.
> Otherwise if you force it to integrated then some other app causes a switch
> to discrete, the app might die because its GL surface just vanished.
> On Mon, May 25, 2015 at 5:30 PM, Scott Palmer <swpalmer at> wrote:
>> I've noticed that it is not possible to run a Java GUI app (Swing or
>> JavaFX) on a MacBook Pro without it activating the discrete graphics and
>> therefore reducing battery life.
>> I believe it is automatically triggered by the use of OpenGL.  Unless you
>> explicitly code for the integrated adapter, I don't think you can use
>> OpenGL without the discrete adapter kicking in.  It would be nice if
>> packaged app bundles done with the javapackager had an entry in the
>> Info.plist that would signal that the application does not require the
>> discrete adapter.
>> This appears to already be filed as a JDK bug at
>> but it doesn't look like
>> it is getting much attention.  Is it likely to be addressed for 9 or an
>> 8uX
>> release?
>> Regards,
>> Scott

More information about the openjfx-dev mailing list