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

2021-03-06 19:13:51 +08:00
 chrisia
众所周知,苹果在 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
7939 次点击
所在节点    Apple
31 条回复
Badlion
2021-03-06 19:27:17 +08:00
很期待,不过更期待远程开发功能,不然我可能不会从 vscode 阵营回来了。
imzcg2
2021-03-06 20:03:01 +08:00
16 寸 m1 我来了,等等党永不认输。
tagtag
2021-03-06 20:40:43 +08:00
打字确实卡的要命
liuzhihang
2021-03-06 20:50:10 +08:00
我 13 寸 19 款的 mac 用 4k 显示器的时候,如果外接显示器分辨率设置过高,就会很卡。 也是这个原因么?

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

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

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

不过苹果的 OpenGL 似乎永远停留在了 4.1
chrisia
2021-03-07 00:40:15 +08:00
@divilkcvf 是 deprecated,我的咨询来源: https://blog.jetbrains.com/platform/2020/11/metal-for-intellij-platform/
我以前都管 deprecated 叫做已废弃,翻译成已过时是不是好点?
chrisia
2021-03-07 00:45:57 +08:00
@divilkcvf 关于游戏这块,确实 OpenGL 的游戏都有不错的性能表现。但是在 idea 上下滚动会有明显的卡顿,所以我很好奇应该谁背锅。而且就官网给出的测试结果来看好像在大多数场景下,Metal 并没有比 OpenGL 强多少。
felixcode
2021-03-07 02:44:46 +08:00
之前只看到说好用流畅的,原来还有这样的问题
mxalbert1996
2021-03-07 02:51:17 +08:00
@divilkcvf deprecated 一般翻译为已弃用
ooops
2021-03-07 04:39:56 +08:00
@chrisia 一般来说 deprecated 表示标记为废弃,状态是还能用。下一个阶段就是移除代码或者不再支持 removed 。你的表述也没什么问题
ewBuyVmLZMZE
2021-03-07 07:02:38 +08:00
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
2021-03-07 08:54:47 +08:00
JDK16 还有 10 天才 GA 啊,这就上 17 了😳
lqf96
2021-03-07 09:18:16 +08:00
@divilkcvf OpenGL 不再维护以后似乎性能就不怎么提高了…有一个兼容库 MoltenGL 就是把 OpenGL 重新用 Metal 实现了一遍,然后他们的卖点就是效率高过苹果内建的实现…
liuzhihang
2021-03-07 13:04:41 +08:00
@chrisia 刚才测试了一下,我把自己的显示器分辨率设置为 3840 * 2160 ,IDEA 版本为 2020.3.2

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

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

这么说下个版本会更好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/759110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX