[OpenJDK 2D-Dev] JDK-8220154 Improve java2d rendering performance on macOS by using Metal framework

Ajit Ghaisas ajit.ghaisas at oracle.com
Tue May 7 18:02:08 UTC 2019


Hi Alexey,

   I tried building this patch with latest http://hg.openjdk.java.net/jdk/jdk/
 
   1. Some basic copy paste errors are resulting in build failures
   2. MTLTexturePool.m file is missing from the patch

   Can you please check & update?

Regards,
Ajit

> On 30-Apr-2019, at 2:52 PM, Alexey Ushakov <alexey.ushakov at jetbrains.com> wrote:
> 
> Hello,
> 
> Here  is an update on our effort to use Metal framework for java2d rendering.
> 
> We’ve added image rendering support and some support for LinearGradient. Also, the code has been refactored.
> 
> Please have a look:
> 
> http://cr.openjdk.java.net/~avu/JDK-8220154/webrev.01 <http://cr.openjdk.java.net/~avu/JDK-8220154/webrev.01>
> 
> Best Regards,
> Alexey
> 
> 
>> Hello,
>> 
>> As far as we know Apple has deprecated OpenGL on MacOS platform (https://developer.apple.com/macos/whats-new/ <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 <http://cr.openjdk.java.net/~avu/JDK-8220154/webrev.00>
>> 
>> Best Regards,
>> Alexey

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/2d-dev/attachments/20190507/39620a02/attachment.html>


More information about the 2d-dev mailing list