JDK-8220154 Improve java2d rendering performance on macOS by using Metal framework

Alexey Ushakov alexey.ushakov at jetbrains.com
Tue Mar 5 14:17:24 UTC 2019


Hello,

As far as we know Apple has deprecated OpenGL on MacOS platform (https://developer.apple.com/macos/whats-new/).

Unfortunately, this decision greatly affects our products that based on Java Client technologies. So, we (here at JetBrains) decided to start a project to replace OpenGL rendering on MacOS platform with a new one based on Metal. This is a huge task, so we  decided to leverage current rendering architecture that is used in OpenGL rendering pipeline on Mac.  

That’s why we didn’t use MTKView for representing AWT windows (that probably would be a better approach in the long term). Currently we're using CAMetalLayer within AWTView. We’ve implemented flat color shape/curve rendering so far and there is a lot of work to do. So, we’re looking forward to any collaboration.

In the mean time I’d like to share our current work to discuss metal pipeline architecture at the early stage of work.

Here is the webrev with our on going development:

http://cr.openjdk.java.net/~avu/JDK-8220154/webrev.00

Best Regards,
Alexey


More information about the macosx-port-dev mailing list