JetBrains预告IntelliJ IDE在Linux上将原生支持Wayland

JetBrains宣布自家以IntelliJ为基础,由Java编写的IDE,将会在Linux中支持Wayland显示协议,以提供更好的效能以及安全性,而这项工作建立在JetBrains与甲骨文桌面团队,共同开发的Wayland工具包之上。 官方提到,虽然目前Java支持Wayland的工作尚未全部完成,但是部分功能成形,已可在Wayland执行一些Java Swing和AWT应用程序。

JetBrains预告IntelliJ IDE在Linux上将原生支持Wayland

Wayland出现的目的便是要取代X Window系统(X11),X11是一个老旧的协议,虽然功能强大,但是其复杂性和一些固有的问题,驱使开发者寻求替代方案。 比起X11,Wayland带来诸多好处,像是Wayland不提供任何绘图基本元素(Primitive),并将许多工作负载转移到应用程序中,应用程序会将画面直接渲染到自己的内存快取,并且由Wayland显示服务器复制到屏幕上,这种形式更加高效方便,降低显示延迟。

Wayland也让应用程序可以增量更新状态,并且将更新结果作为整体一起提交,避免呈现状态不一致的UI,而且Wayland采用模块化设计,不同的服务器可以支持各种协议,因此能够扩展Wayland功能满足各式用例。

在未完成支持前,现在所有Java应用程序包括IntelliJ IDE,皆采用一种称为XWayland的过渡方案,这是在Wayland会话之上执行X11实作以显示用户界面,并且撷取鼠标和键盘输入的方法。 官方提到,虽然此方法在大多数的情况下都运作良好,但是在拖放、窗口切换、显示分辨率和弹出菜单等方面仍存在问题,且部分问题无法在XWayland框架内解决,同时也没有太多开发者愿意投入资源到老旧的X11技术上。

考量这些问题,JetBrains现在与甲骨文桌面团队合作,共同开发Wayland工具包,让Java应用程式原生支持Wayland,不过这却是一项大工程,开发团队还需要克服许多问题,像是重写有关处理图形、鼠标光标、按键转换、启动画面显示和输入法等各种GUI相关的代码。 之前的X11工具包仅有少部分代码可重复使用,绝大部分的代码需要重写。 由于Wayland API的行为与Java API不同,因此也需要重新编写转换。

现在JetBrains正致力让IntelliJ IDE完全支持Wayland,Wayland带来的性能和安全性,让IntelliJ IDE能够稳定执行,并且提升响应性。 目前Wayland的软件渲染效能已经与X11工具包相当,剩下的工作就是完成Wayland工具包实作,使得IntelliJ IDE可以在Wayland上原生运作。

(0)
搬砖哥搬砖哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注