最新版本(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进程不适用于它.

Java相关问答推荐

如何在Docker容器中使用wireock—Webhooks阻止请求?

如何在SystemiccationRetryListenerSupport中获得类级别的spring retryable annotation中指定的标签?

工件部署期间出错[Tomcat 8.5.45]

Java .类参数不通过构造函数传递

Java FX中的河内之塔游戏-在游戏完全解决之前什么都不会显示

我如何解释这个错误?必需类型:供应商R,提供:收集器对象,捕获?,java.util.List java.lang.Object>>

如何将其他属性引用到log4j2 yaml配置中?

Java Mooc.fi Part 12_01.Hideout -返回和删除方法

如何将Java文档配置为在指定的项目根目录中生成?

JOLT根据值删除并保留其余的json键

为什么项目名称出现在我的GET请求中?

Java KeyListener不工作或被添加

无限递归Java问题

Cucumber java-maven-示例表-未定义一步

基于距离的APACHE POI公式判断

如何使用Hibernate v6.2构建NamingStrategy,以表名作为所有列的前缀?

无泄漏函数的Java DRY

始终使用Spring Boot连接mongodb上的测试数据库

将Optionals/null安全添加到嵌套的flatMap/流

如何调查进程列表中不可见的活跃 MySQL 事务?