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

Alexey Ushakov alexey.ushakov at jetbrains.com
Wed May 8 13:19:53 UTC 2019


Thanks for catching it, Ajit!

Looks like it was a problem with webrev script applied to multiple git commits. I’ve updated the webrev.
Also, we didn’t rebase yet on the latest state of http://hg.openjdk.java.net/jdk/jdk <http://hg.openjdk.java.net/jdk/jdk> (this work is in progress).
I’ll let you know when the rebase is ready.

Best Regards,
Alexey

> On 7 May 2019, at 21:02, Ajit Ghaisas <ajit.ghaisas at oracle.com> wrote:
> 
> Hi Alexey,
> 
>    I tried building this patch with latest http://hg.openjdk.java.net/jdk/jdk/ <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 <mailto: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/20190508/36c9a71b/attachment.html>


More information about the 2d-dev mailing list