IDEA默认使用JDK11作为默认启动的JDK环境,但MAC上(m1)java2d 使用 OpenGL 进行渲染

而OpenGL在MAC上已经过时,苹果官方推荐使用Metal作为替代,恰恰JDK17从 b17 这个版本之后开始支持使用Metal用于2D渲染

JDK替换方法

  1. 下载JDK17,并安装
  2. IDEA中依次选择Help->Find Action...->输入Choose Boot Java Runtime for the IDE,选择17.0.2+8-315.1版本(如果没找到则需要点击Add Custom Runtime...),选择完后注意不要重启IDEA!注意不要重启IDEA!注意不要重启IDEA!
  3. Edit Custom VM Options...输入下边内容之后再重启IDEA
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
-Xmx2048m
--illegal-access=warn
-Dsun.java2d.metal=true
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-opens=java.desktop/sun.font=ALL-UNNAMED
--add-opens=java.desktop/java.awt=ALL-UNNAMED
--add-opens=java.desktop/sun.awt=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/sun.swing=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED
--add-exports=java.desktop/sun.font=ALL-UNNAMED
--add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED
--add-exports=java.desktop/com.apple.laf=ALL-UNNAMED
--add-exports=java.desktop/com.apple.eawt.event=ALL-UNNAMED
--add-opens=java.desktop/sun.lwawt.macosx=ALL-UNNAMED

重启失败的解决方法

vi ~/Library/Application Support/JetBrains/IntelliJIdea2022.1/idea.vmoptions输入上边的内容

参考链接

Running IntelliJ IDEA with JDK 17 for Better Render Performance with Metal