目前,Mac上的java2d使用OpenGL渲染图形原语。Metal框架提供了更好的性能,并对现代macOS版本和硬件提供了更好的支持。因此,我们需要利用它来提高java2d的渲染性能。
1. 概述
在Apple M1芯片的电脑上使用Idea时,界面卡顿比较严重。整体体验非常差。在谷歌上搜索了一翻,找到是由于OpenCL在Arm架构上的性能一般。Zulu有针对Java的Swing做Metal的支持。以下是针对具有Metal支持的Java版本的编译及更改Idea的Runtime的全过程。
2. 下载Zulu AArch版本
下载Zulu 16.0.1
,并将JAVA_HOME
引用至Zulu 16.0.1的文件夹。
|
|
3. 下载与编译JetBrainRuntiome
克隆JetBrainsRuntime
到本地目录,并切换到jb17*
分支。
|
|
执行编译:
|
|
如果编译出现以下错误:
configure: error: No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK
时,请在执行:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
4. 应用
- 添加
vmoptions
到Help > Edit Custom VM Options
:
|
|
- 将jdk17拷贝至Java虚拟机根目录处,以供其他程序使用:
|
|
- 在Idea中,点击 Help | Find Action… ,输入 Choose Boot Java Runtime for the IDE,打开选择框如下:
选择Idea运行时,选择对应的jdk17存放的位置。
如果启动遇到错误,需要调整回默认的JDK时,请在Idea的jdk配置放置在下面的目录中,删除里面的内容后重启即可。
|
|
5. 小结
使用支持Metal的JBR后,整体界面的性能提升非常明显。但是兼容性存在一些问题。例如找不到 Alt + ,
(设置)项。关于项显示的窗口并不是最新的窗口。从目前来看,能初步缓解Idea的使用问题。但长远看,还是得Jetbrains官方的JBR。
除此之外,提升JetBrains IDE的更快捷的方法是在插件内安装 Atom Material Icons 插件。 当前这种办法为最优解!