Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8284379

Make Metal the default Java 2D rendering pipeline for macOS

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P3 P3
    • 19
    • client-libs
    • None
    • 2d
    • behavioral
    • low
    • Hide
      This should be completely transparent to applications. There is no need for them to take any actions, or even be aware of the switch.

      Yet, although the pipeline is stable and well tested, there's still potential for rendering differences, however these should be temporary as bugs are reported and subsequently fixed.
      Show
      This should be completely transparent to applications. There is no need for them to take any actions, or even be aware of the switch. Yet, although the pipeline is stable and well tested, there's still potential for rendering differences, however these should be temporary as bugs are reported and subsequently fixed.
    • System or security property
    • Implementation

      Summary

      Make Metal the default Java 2D rendering pipeline for macOS

      Problem

      Apple deprecated OpenGL in favor of the new Metal accelerated rendering API. OpenGL is still used in JDK for Java 2D rendering on macOS, even though Metal support was delivered in JDK 17.

      Solution

      JDK on macOS should default to using Metal-based rendering where it is available and supported.

      Specification

      Metal API based rendering for Java 2D will be the default where available. To revert to OpenGL specify -Dsun.java2d.opengl= "True" | "true"

            aghaisas Ajit Ghaisas
            prr Philip Race
            Kevin Rushforth, Philip Race
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: