JetBrains 开发工具使用最新的 JBR 提高性能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huijiewei
V2EX    JetBrains

JetBrains 开发工具使用最新的 JBR 提高性能

  •  
  •   huijiewei 2021-10-05 11:46:38 +08:00 6966 次点击
    这是一个创建于 1523 天前的主题,其中的信息可能已经有所发展或是发生改变。

    JetBrains Runtime (即 JetBrains 运行时)是一个运行时环境,用于在 Windows,Mac OS X 和 Linux 上 运行 IntelliJ 平台的各种产品。JetBains Runtime 基于 OpenJDK 项目,并进行了一些修改。这些修改包括:抗锯齿,Linux 上增强的字体渲染,HiDPI 支持,连字,一些官方版本中未提供的针对产品崩溃的修复程序以及其他小的增强功能。

    Snipaste_2021-10-05_11-26-51.png

    目前 JetBrains 的开发工具默认使用基于 JDK11 版本的 JBR,而 JDK11 版本的 java2d 使用 OpenGL 来渲染图形基元。JDK 17 的 java2d 使用了 Metal 框架提供更好的性能,并更好地支持现代 macOS 版本和硬件。所以我们现在可以更换 JBR 版本以提高 macOS 下 JetBrains 开发工具的性能。

    现在我们开始更换开发工具的 JBR

    1. 下载最新的 JBR https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr17b106.1
    2. 更改开发工具的 VM Options, Help -> Edit Custom VM Options, 增加以下参数
    --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 

    Snipaste_2021-10-05_11-27-10.png

    1. 安装 Choose Runtime 插件

    Snipaste_2021-10-05_11-27-35.png

    1. 使用 Choose Runtime 插件安装并使用最新的 JBR,Help -> Find Action,搜索 Choose Runtime 并运行

    Snipaste_2021-10-05_11-27-53.png

    点击 ... 按钮浏览并选择第一步下载的 JBR 压缩包,然后点击 Install

    Snipaste_2021-10-05_11-28-13.png

    安装完以后开发工具会自动重启,现在可以看到已经使用了 JDK 17 版本的 JBR

    Snipaste_2021-10-05_11-28-41.png

    https://blog.huijiewei.com/note/jetbrains-jbr-17

    第 1 条附言    2021-10-05 15:26:33 +08:00
    说明下,这个适用于 macOS
    18 条回复    2021-10-09 10:05:45 +08:00
    NowTime
        1
    NowTime  
       2021-10-05 11:48:14 +08:00 via Android
    可以,待会试试
    wen704
        2
    wen704  
       2021-10-05 11:56:19 +08:00 via Android
    可以,国庆后去公司试下
    leaves615
        3
    leaves615  
       2021-10-05 12:18:56 +08:00
    非常棒。
    bomb77
        4
    bomb77  
       2021-10-05 12:46:20 +08:00
    我不知道自己什么情况,配置了之后会导致 glang 起不来
    如果出现这样的问题,可以去 jetbrains 对应的文件夹,删除 xxx.jdk 文件,清除增加的 xxx.vmoptions 内容,可以恢复之前的配置
    PDX
        5
    PDX  
       2021-10-05 14:07:57 +08:00
    nice
    echohey
        6
    echohey  
       2021-10-05 14:13:47 +08:00
    @bomb77 也碰见了,用 idea.bat 启动看了下报错,的确是 vmoptions 有些问题,不过没深究,删了就好了,
    prenwang
        7
    prenwang  
       2021-10-05 14:19:18 +08:00
    macos 下有个全屏问题, 切换到全屏无法退出全屏, 也无法切换屏幕, 搜索桌面切换背景全黑, 无法切换到其他任何应用, 只能在内置终端 kill
    wzw
        8
    wzw  
       2021-10-05 14:21:59 +08:00
    有很大提升吗? 特别是 Goland 的 debug 的时候
    stimw
        9
    stimw  
       2021-10-05 16:00:24 +08:00 via Android
    官方会更新到之后的版本么?
    varzy
        10
    varzy  
       2021-10-05 17:09:49 +08:00 via iPhone
    感谢楼主,收藏了。国庆回单位了试一试
    hronro
        11
    hronro  
       2021-10-05 19:34:51 +08:00
    为啥官方不用最新的呢?应该还不稳定吧
    br00k
        12
    br00k  
       2021-10-05 21:55:43 +08:00
    看 JDK17 Metal 和 OpenGL 的对比,提升了挺多的。
    Dockerfile
        13
    Dockerfile  
       2021-10-06 00:25:24 +08:00 via Android
    可以 回去试下
    jackytang520
        14
    jackytang520  
       2021-10-06 07:54:39 +08:00
    昨天晚上试了一下成功了,目前没发现什么问题
    jackytang520
        15
    jackytang520  
       2021-10-06 08:46:28 +08:00
    @prenwang 我也有同样的问题,还是先用默认的吧
    wen704
        16
    wen704  
       2021-10-06 09:46:11 +08:00
    突然发现一个问题,如果未来 JB 产品自带的 JDK 版本更新了,而现在操作选定指定的新版本 Runtime,会不会就一直被限定在自己选择的版本,但是自己好像也不知道 JB 产品自带的 JDK 版本是不是更新了
    smy14520
        17
    smy14520  
       2021-10-08 16:37:35 +08:00
    发现一个问题, Command+~ 没法在应用之间切换了.
    Vitta
        18
    Vitta  
       2021-10-09 10:05:45 +08:00
    我的 appcode 挂了打不开了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2686 人在线/strong>   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 13:43 PVG 21:43 LAX 05:43 JFK 08:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86