chrisia
V2EX  ›  Apple

IDEA 将优化 M1 的图形性能表现,基于 Lanai 构建的 IDEA 将于本月发布。

  •  
  •   chrisia · Mar 6, 2021 · 9038 views
    This topic created in 2069 days ago, the information mentioned may be changed or developed.
    众所周知,苹果在 Mojave 中弃用了 OpenGL,而 IDEA 系的图形界面使用 Swing 实现,Swing 严重依赖 OpenGL 。由于缺乏完善的支持,目前来说 IDEA 的性能表现很差。
    表现在使用上(我的是 m1 macbook ):
    上下拖动的帧率很低,尤其是 Project 打开的目录很多时,目测不到 10fps 。
    敲代码时 cpu 占用率异常提高,打字有延迟,这个在我以前的 intel macbook 上出现过,m1 很少出现。(与内存无关,可以看到 jetbrains 将这个问题关联到了 2d 渲染性能问题)

    目前在 youtrack 上,这个问题有非常多的关联帖子(还会导致其他莫名奇妙的问题)。
    jetbrains 为了解决这个问题,与 Oracle 合作推出项目:lanai ( https://openjdk.java.net/projects/lanai ),目的是为了实现基于 Metal 框架的 java 2d api,在性能上有大幅提升。

    今天 jetbrains 更新了进度,OpenJDK17 将正式支持 Metal,本月 JetBrains 也将推出基于 OpenJDK17 的 JetBrains Runtime 。
    追踪: https://youtrack.jetbrains.com/issue/JBR-745
    31 replies  •  2021-09-05 19:55:10 +08:00
    Badlion
    Badlion
    Mar 6, 2021 via iPhone
    1
    很期待,不过更期待远程开发功能,不然我可能不会从 vscode 阵营回来了。
    imzcg2
    imzcg2
    Mar 6, 2021 via Android
    2
    16 寸 m1 我来了,等等党永不认输。
    tagtag
    tagtag
    Mar 6, 2021
    3
    打字确实卡的要命
    liuzhihang
    liuzhihang
    Mar 6, 2021 via iPhone
    4
    我 13 寸 19 款的 mac 用 4k 显示器的时候,如果外接显示器分辨率设置过高,就会很卡。 也是这个原因么?

    这个意思是后面更新了,就会改善这个情况么?还是需要换电脑。

    同时 UI 是不是也会发生改变?
    gainsurier
    gainsurier
    Mar 6, 2021
    5
    别人家的 jdk 版本.....酸呐
    chrisia
    chrisia
    OP
    Mar 6, 2021
    6
    @liuzhihang 是这个原因,4k 以上分辨率尤为严重,等这个月的更新吧,ui 大概率是不会变的。
    4k 分辨率卡的问题可以追踪这个帖子,也是 OpenGL 导致的: https://youtrack.jetbrains.com/issue/JBR-526
    chrisia
    chrisia
    OP
    Mar 6, 2021
    7
    @imzcg2 intel 也有这个问题。等下一代确实是最好的选择😂
    liuzhihang
    liuzhihang
    Mar 6, 2021 via iPhone
    8
    @chrisia 太感谢你了。我看着文章的大概意思也是这个。但是不太确定。很期待更新。

    但是那块 Swing 那块不知道会不会产生其他影响。
    teddybun
    teddybun
    Mar 6, 2021
    9
    @Badlion code with me 已经有了,不过我还没有体验,2021.1EAP 是插件,beta1 是内置
    Badlion
    Badlion
    Mar 7, 2021
    10
    @fshuqing 看了一下,感觉更像一个多人远程协作平台。而我需要的仅仅是把项目跑在远程,在远程调试而已。而远程端不需要有 UI 。
    divilkcvf
    divilkcvf
    Mar 7, 2021 via iPhone
    11
    OpenGL 只是标注 deprecated 而已,并没有弃用啊,Mac 上大部分游戏都是基于 OpenGL,比如 Dota2,一样运行得很好,并没有变卡……

    不过苹果的 OpenGL 似乎永远停留在了 4.1
    chrisia
    chrisia
    OP
    Mar 7, 2021
    12
    @divilkcvf 是 deprecated,我的咨询来源: https://blog.jetbrains.com/platform/2020/11/metal-for-intellij-platform/
    我以前都管 deprecated 叫做已废弃,翻译成已过时是不是好点?
    chrisia
    chrisia
    OP
    Mar 7, 2021
    13
    @divilkcvf 关于游戏这块,确实 OpenGL 的游戏都有不错的性能表现。但是在 idea 上下滚动会有明显的卡顿,所以我很好奇应该谁背锅。而且就官网给出的测试结果来看好像在大多数场景下,Metal 并没有比 OpenGL 强多少。
    felixcode
    felixcode
    PRO
    Mar 7, 2021 via Android
    14
    之前只看到说好用流畅的,原来还有这样的问题
    mxalbert1996
    mxalbert1996
    Mar 7, 2021 via Android
    15
    @divilkcvf deprecated 一般翻译为已弃用
    ooops
    ooops
    Mar 7, 2021
    16
    @chrisia 一般来说 deprecated 表示标记为废弃,状态是还能用。下一个阶段就是移除代码或者不再支持 removed 。你的表述也没什么问题
    ewBuyVmLZMZE
    ewBuyVmLZMZE
    Mar 7, 2021
    17
    Apple M1 Lanai builds will be available after integration into JDK17 (it's planned this month). We (at JetBrains) also working on our new JBR (JetBrains Runtime) version based on OpenJDK17 and we're definitely going to add Metal support there.

    我看了一下 Lanai 的状态,应该是确定在 JDK 17 发布无疑。所以个人理解 JetBains 的目前主要工作是将 JBR 迁移到 新的 LTS 版本 JDK 17 。
    Cbdy
    Cbdy
    Mar 7, 2021 via Android
    18
    JDK16 还有 10 天才 GA 啊,这就上 17 了😳
    lqf96
    lqf96
    Mar 7, 2021 via iPhone
    19
    @divilkcvf OpenGL 不再维护以后似乎性能就不怎么提高了…有一个兼容库 MoltenGL 就是把 OpenGL 重新用 Metal 实现了一遍,然后他们的卖点就是效率高过苹果内建的实现…
    liuzhihang
    liuzhihang
    Mar 7, 2021
    20
    @chrisia 刚才测试了一下,我把自己的显示器分辨率设置为 3840 * 2160 ,IDEA 版本为 2020.3.2

    IDEA 系统字体 16 编辑区字体 24

    打了很长很长一串中文,按空格很快就上屏幕了,感觉不是很卡。 比我之前用的好多了。

    这么说下个版本会更好。
    chrisia
    chrisia
    OP
    Mar 7, 2021
    21
    @liuzhihang 对,字体大一些流畅很多,所以是渲染性能背锅。下个版本应该有较大的提升,期待一下吧。
    dioxide
    dioxide
    Mar 7, 2021
    22
    印象中 idea 打字卡顿(特别是中文)的问题 已经存在了不止 1 年了.
    lonenol
    lonenol
    Mar 7, 2021
    23
    非 m1 的 MPB 在 2020.3 是真的卡的不能用。。回退版本很久了,希望 2021 能正常使用吧
    LukeChien
    LukeChien
    Mar 8, 2021 via Android
    24
    那非 m1 的 mac 也能用,大不了已经装个 OpenJDK17
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Mar 9, 2021
    25
    chrome 卡顿掉帧老 bug 也没修复
    zhanggang807
    zhanggang807
    Mar 9, 2021
    26
    我也遇到了这个问题,15 年的 mbp 和 哪个版本的 idea 打字 cpu 彪的厉害。。。
    后来升级 mbp 和 idea 后问题得到缓解
    peterzhang0602
    peterzhang0602
    Apr 13, 2021
    27
    推出了嘛
    chrisia
    chrisia
    OP
    Apr 13, 2021
    28
    @peterzhang0602 好像还没
    TankZZZ
    TankZZZ
    May 20, 2021
    29
    针对「上下拖动的帧率很低,尤其是 Project 打开的目录很多时,目测不到 10fps 」这一问题,我也遇到了同样的情况。在网上搜索之后,发现可以在 IDEA 中安装 Atom Material Icons 插件,即可解决拖动卡顿的问题。
    chrisia
    chrisia
    OP
    May 21, 2021
    30
    @SirCarol 是的,看来是 idea 的问题
    TankZZZ
    TankZZZ
    Sep 5, 2021
    31
    @SirCarol # 107 如果不想安装上面的插件,还有一个更好的方法解决该问题。Help -> Edit Custom Vm Options,填入如下信息:

    -Dsun.java2d.opengl=true
    -Dsun.java2d.opengl.fbobject=false

    然后重启 IDEA 即可。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5424 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 02:00 · PVG 10:00 · LAX 18:00 · JFK 21:00
    ♥ Do have faith in what you're doing.