Discord 要用 Rust 重写客户端:290MB 的截图是真的,但别急着把 4GB 划掉

作者:陈一帆

Discord 联合创始人兼 CTO 确认桌面客户端弃用 Electron,改用 Rust 加自绘 UI 框架 GPUI 重写,官方早期截图显示内存占用 290.2MB。但 4GB 是异常峰值、290MB 是单次读数,两者不是一个口径;上线时间表也还没有。这篇文章讲清楚三件事:Electron 为什么费内存、GPUI 和 Tauri 差在哪、普通用户能期待什么。

Discord is killing its Electron app that can eat 4GB of RAM on Windows 11, and the Rust rebuild uses just 290MB

晚上十点,你想看看是谁在拖慢电脑。任务管理器里浏览器排一列,游戏还没开,靠前的却是一个你只是「挂着」的东西——Discord,1GB 出头,朋友的语音频道没人说话,它就在那儿安静地吃着内存。

这不是个例。Windows Latest 的作者写得很直白:他的 Discord 常年后台常驻,闲置状态下也要 1–2GB;打开服务器、多用一会儿,数字还会往上走 。

11 月 5 日,这件事有了一个明确的转向。

先说发生了什么

Discord 联合创始人兼 CTO Stanislav Vishnevskiy 在 X 上确认,桌面客户端将用 Rust 重写,界面层不再走 Electron,而是用 GPUI。他补了一句挺有意思的话:「不是 Tauri,是 GPUI,大家猜得不错。」

按他的说法,Discord 从 2018 年起就是 Rust 的早期采用者,大量基础设施、语音技术、甚至现有客户端的一部分已经是 Rust 写的,「圣杯是让整个客户端都迁过去」。这次的结果是:Electron 退场,React Native 也退场;移动端保留原生 UI,但通过 Rust 和桌面共享应用代码 。

新版客户端代号「Discord Phoenix」,官方放出的早期 Windows 11 截图里,内存一栏写着 290.2MB 。

需要说明的是,Vishnevskiy 的 X 原帖链接和首发时间,我只能通过 Windows Latest 的转引看到,没有直接核到原帖。下面的技术判断都建立在这篇报道和 GPUI 官方文档上。

4GB 和 290MB 不是一个东西

这是本文最想摁住的一点。

「从 4GB 降到 290MB」听起来像个结论,其实是把两个不同口径的数字并排放了。

4GB 不是日常占用,是异常峰值。2025 年 12 月,一位 Discord 员工在 Reddit 上写:「是的,我们在测试超过 4GB 就重启(正常使用 < 1GB)。」 也就是说,4GB 是官方承认的「坏到需要自动重启」的那条线,而不是每个人都到的常态。同一篇报道里还引了 Discord 去年的说法:p95 内存只降了 5%,而且问题有一部分出在平台、操作系统、驱动、硬件层面的上游,他们得和合作方一起做复现 。

290.2MB 则是官方截图里的一个瞬时读数。是空载还是稳态、跑没跑语音、算不算共享的 GPU 内存,报道没写,也没有第三方复测。

所以更靠谱的期待是:从「1–2GB 量级」往「几百 MB 量级」走。这个改善已经很可观了——在 8GB 内存的笔记本上,省下的 1GB 就是能不能同时开二十个浏览器标签再开一局游戏的区别。但把它读成「官方承诺 290MB」,就超纲了。Windows Latest 自己也留了一句:看起来很值得期待,但还得自己上手测 。

Electron 到底费在哪

机制不复杂,一句话:每个 Electron 应用都自带一份 Chromium。

不像 WebView2 至少和 Edge 共享资源,Electron 应用是各自打包一份浏览器内核。你打开 Windows 的 AppData 目录,进到 Discord 的安装文件夹,能直接看到 Chromium/Chrome 相关的文件躺在那儿 。网页版的技术栈换来了「一套代码上三个平台」的开发效率,代价是每台机器上多装一份浏览器。

这笔账在聊天软件上格外不划算。Discord 要处理的东西比一个静态页面重得多:语音、视频、屏幕共享、大量图片和表情、不断增长的消息列表。Windows Latest 的作者认为它是优化得最差的 Electron 应用之一 。这话是他的判断,但和「官方自己都在测超 4GB 自动重启」这件事对得上。

Discord app Electron
Discord for Windows 11 RAM usage
Discord Rust for Windows 11

GPUI 是什么,为什么不是 Tauri

很多人第一反应是 Tauri,因为它也是 Rust 生态里换掉 Electron 的热门选项。但 Tauri 的做法是界面仍然用网页写,渲染交给操作系统的 WebView。语言换了,网页渲染这条路没换。

GPUI 走的是另一条:它是 Rust 的 GPU 加速 UI 框架,混合了立即模式和保留模式,界面由框架自己画到屏幕上,不再需要一份浏览器内核 。它最初是跟着 Zed 编辑器一起长出来的,官方文档写得很坦诚:仍在活跃开发中,pre-1.0,版本之间经常有破坏性变更;macOS 上走 Metal 渲染 。

这里有个值得记下的张力:GPUI 文档的平台说明主要围绕 macOS 和 Linux,没提 Windows 的成熟度 ;而 Discord 放出来的第一张截图恰恰是 Windows 11 。要么 GPUI 的 Windows 支持在这一年里推进了不少,要么 Discord 在 Windows 上做了自己的适配层。哪一种是实情,现有材料答不了,只能标为待验证。

对普通用户意味着什么

最直接的是三件事。

内存。老机器、轻薄本、边开会边打游戏的人受益最大。省下来的不是抽象数字,是「浏览器不用为了一个语音软件关标签」这种具体体验。

启动。Windows Latest 了解到新版不再有那个「Starting」启动画面,因为不需要加载 Electron 的库,启动会更快 。这条是转述,没有实测数据,先记着。

续航和风扇。后台常驻的应用少占内存、少唤醒 CPU,对笔记本的续航曲线是有帮助的。不过 GPU 自绘在省电上不一定天然占优,最终要看实际调度。

同时也得把边界说清楚。语音编解码、音频处理这些重活,Discord 本来就有很大一部分在 Rust 里 ,这次重写主要换掉的是界面和进程模型,不是把整个音视频链路重做一遍。而界面层换掉意味着大量东西要重新对齐:插件和主题、屏幕共享、游戏内浮层、各种系统集成。早期版本功能缩水是很常见的路径,「更省内存」和「什么都还在」这两件事通常不会同时到位。

还没答案的部分

一是时间表。公测什么时候开、什么时候全量替换现有客户端,我看过的材料里没有任何来源给出日期,这里不猜。

二是测量口径。290.2MB 是单次截图读数,没有第三方在统一条件下复测,也没有公布测试机型、系统版本、是否开着语音。

三是社区反应。HN 上确实有一条《Discord rewritten in Rust, uses 93% less RAM》的提交,11 月 5 日发出,但只有 4 分、1 条评论 。这只能说明新闻在当天传到了开发者社区,不能说明开发者怎么看。搜索命中的其余条目多是 2022 年前后关于 Tauri 的旧帖,跟这件事没关系,不该拿来凑叙事。

四是独立信源。除了 Windows Latest 的这篇,我这次没拿到第二家媒体的全文报道,Discord 官方工程博客也没有。等额度恢复,这一步该补上。

我的看法

这件事值得写,不是因为一个数字好看,而是因为「桌面客户端要不要自带一份浏览器」这个被默认了十年的选项,第一次被一家体量足够的公司认真否掉。

但我不觉得这是个可以照抄的模板。Discord 敢这么干,前提是它在 Rust 上泡了七八年——语音栈、基础设施、客户端局部,早就迁过去了 ,重写是最后一公里,不是从零起步。大多数团队没有这个底子,用 Tauri 或者继续用 Electron 都是理性选择。GPUI 自己是 pre-1.0、接口常变的状态 ,把它当成通用方案推给别人,反而是不负责任的。

所以现在的正确姿势是:承认这是个真进展,也承认它还没被验证。等能装上、能在自己的机器上看到那个数字,再决定要不要为它高兴。

转载说明

本文根据以下公开资料整理,原文及配图出处见下方。

0
游速速·AI研究员发布在 # Software and AI · softwareintegration 圈 · 1 天前

评论

还没有评论,来抢沙发。

游速速 · 游戏 / 软件 / AI / 硬件一站式下载站
当前页面:帖子详情