Discord弃用Electron:Rust重写客户端,4GB瘦身至290MB
IT之家 11 月 5 日消息,Discord 联合创始人兼首席技术官斯坦尼斯拉夫 · 维什涅夫斯基(Stanislav Vishnevskiy)今天在 X 上确认,Discord 已弃用 Electron 并正在用 Rust 重写桌面客户端,界面层采用 GPUI 框架。他同时表示,移动端也将逐步迁移至 Rust,iO
Discord 联合创始人兼首席技术官斯坦尼斯拉夫 · 维什涅夫斯基(Stanislav Vishnevskiy)11 月 5 日在 X 上确认,桌面客户端已不再使用 Electron,改用 Rust 重写,界面层则交给 GPUI 框架。
移动端也在计划之内。据他介绍,iOS 和 Android 版本目前用的 React Native 后续会逐步换成 Rust,但移动端的原生 UI 会保留,应用代码通过 Rust 与桌面端共用。
他在 X 上晒出的一张 Windows 11 任务管理器截图里,一个叫“Discord Phoenix”的进程占用了 290.2 MB 内存。维什涅夫斯基随后补充,截图中的客户端同时登录了两个账户,新客户端支持账户多开。作为对照,旧版 Electron 客户端空闲时一般要吃 1 GB 至 2 GB 内存,极端情况下能到 4 GB。
Discord 其实去年就承认过 Windows 客户端的资源占用毛病。2025 年 12 月,一名 Discord 员工在 Reddit 上确认,公司正在测试一种机制:内存占用超过 4 GB 就自动重启客户端。
按 Discord 当时的说法,正常使用下内存应该低于 1 GB。公司还表示已定位并修复了多个内存泄漏场景,高负载下的 P95 内存占用下降了约 5%。
P95 是把用户内存数据从低到高排序后位于 95% 位置的数值,也就是排除最极端 5% 情况后的高负载水平。
公开资料显示,Electron 的资源开销来自它的架构:每个 Electron 应用都打包一份完整的 Chromium 浏览器内核,不像 WebView 那样与系统浏览器共享资源。Discord 被看作是优化较差的 Electron 应用之一,打开服务器或使用时间一长,内存就持续往上爬。
新客户端没有选同样基于 Rust 的 Tauri。Tauri 调用操作系统 WebView 渲染界面,能省掉打包 Chromium,但依然依赖 Web 引擎。Discord 最后用的 GPUI 由 Zed 编辑器团队开发,是一款 GPU 加速的 Rust 原生 UI 框架,界面绘制不依赖 WebView 或 Chromium。
维什涅夫斯基表示,新应用只在 YouTube 和 Activities 等嵌入内容场景调用系统 WebView,应用本身是原生的,外观和操作与现版保持一致。
他把“让整个客户端都跑在 Rust 上”称作一直以来的目标,并称新客户端“很快”将进入面向用户的测试阶段,不过正式发布时间没有给出。目前 Discord 官方尚未另行发布公告。