[OpenJDK 2D-Dev] RFR: 8251854: [macosx] Java forces the use of discrete GPU

Erik Joelsson erikj at openjdk.java.net
Tue Nov 10 13:26:57 UTC 2020

On Tue, 10 Nov 2020 08:19:13 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> This is a review request for the bug particularly fixed some time ago:
> https://mail.openjdk.java.net/pipermail/2d-dev/2015-May/005425.html
> In that review request it was found that the old fix does not work well in all cases, see:
> https://mail.openjdk.java.net/pipermail/2d-dev/2015-August/005611.html
> The current fix updates an embedded plist.info, so the java will not require
> discrete graphics by default, same as for any other applications. 
> The discrete card will be used:
>  1. If macOS decided to enable it for some reason
>  2. If the java app sets/uses a full-screen window
>  3. If the user disable "automatic graphics switching" in the system preferences
>  4. If an external monitor is connected to the laptop
> In other cases, the integrated graphics will be used, which should be fine in most cases since this graphic is used/tested in the mbp 13/etc. This is not only about rendering performance but also about startup performance, on my current new laptop mbp 16 + Cataline 10.15.7 the switching discrete/integrated causes unexpected delays up to 10 seconds.
> Note that the new "metal" pipeline also does not require discrete graphics.
> The documentation for NSSupportsAutomaticGraphicsSwitching:
> https://developer.apple.com/documentation/bundleresources/information_property_list/nssupportsautomaticgraphicsswitching
> I'll create a release note after approval.
> Performance numbers:
> https://mail.openjdk.java.net/pipermail/2d-dev/2020-August/010979.html
> Old review request:
> https://mail.openjdk.java.net/pipermail/2d-dev/2020-August/010973.html

Change looks ok from a build point of view, but I can't comment on the validity and implications of using this key.


Marked as reviewed by erikj (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1139

More information about the 2d-dev mailing list