JavaFX在macOS上是否使用基于Metal的新渲染?

4
最新版本(19、20等)的JavaFX/OpenJFX是否使用了专为macOS上的Java构建的新的Metal渲染,取代了OpenGL?
JEP 382:新的macOS渲染管道。
这个新的管道成为了Java 19的默认选项。

1个回答

6

不。截至2020年,JavaFX不使用Apple Metal API。

对于Mac的硬件加速,JavaFX使用OpenGL ES2。它也可以回退到软件渲染器,但您必须强制它这样做,默认情况下它会使用ES2。

有关JavaFX 3D渲染使用Apple Metal API的实验性概念工作已经存在。该实现可以在jfx-sandbox存储库的此拉取请求中找到(这不是用于JavaFX发布的主线存储库):

sandbox中的metal分支有许多相当新的更改:

也许在未来,JavaFX会添加对Metal的支持。
如果您有进一步的问题,请在openjfx-dev邮件列表上提出。
根据我所了解,作为JEP 382的一部分,在Mac上为JDK完成的Metal支持工作只针对Java2D API。据我所知,JavaFX并不使用Java2D API,除非可能用于打印支持。支持metal的Java2D工作可以被包含在核心JDK中的AWT和Swing框架使用。JavaFX不再是JDK的一部分,因此JEP流程不适用于它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接