最新版本(19、20等)的JavaFX/OpenJFX是否使用了为MacOS上的Java构建的新的Metal渲染,取代了OpenGL?
JEP 382: New macOS Rendering Pipeline个
这条新管道变成了the default in Java 19条.
最新版本(19、20等)的JavaFX/OpenJFX是否使用了为MacOS上的Java构建的新的Metal渲染,取代了OpenGL?
JEP 382: New macOS Rendering Pipeline个
这条新管道变成了the default in Java 19条.
不是的.从20版开始,JavaFX不使用Apple Metals API.
在Mac上,对于hardware acceleration,JavaFX使用OpenGL ES2.它也可以退回到软件呈现器,但您必须强制它这样做,它将默认使用ES2.
有使用Apple Metals API进行JavaFX 3D渲染的概念工作的实验证明.实现可以在jfx-Sandbox存储库(这不是用于JavaFX版本的主线存储库)上的这个Pull请求中找到:
Sandbox 中的金属分支有很多相当新的变化:
也许在future ,金属支持将被添加到JavaFX中.
如果你有进一步的疑问,在openjfx-dev mailing list号上提出这个话题.
据我所知,作为JEP 382的一部分,在Mac上为JDK的金属支持所做的工作只针对Java2DAPI.JavaFX没有使用Java2DAPI(据我所知),可能只是为了帮助提供打印支持.作为核心JDK的一部分,AWT和Swing框架可以使用支持金属的Java2D工作.JavaFX不再是JDK的一部分,因此JEP进程不适用于它.