Win11 应用缩影:Electron 框架成“资源黑洞”,Discord 测试 4GB 内存熔断机制

抖音秀 热点资讯 3

12 月 6 日消息,科技媒体 Windows Latest 今天(12 月 6 日)发布博文,即时通讯软件 Discord 公开承认其 Windows 11客户端存在严重的资源占用问题,并宣布正在测试一项“自动重启”机制以缓解内存压力。

针对用户反馈 Windows 11 版 Discord 客户端“吃内存”,官方回应承认存在资源占用过高的问题。Discord 为了解决这一痛点,正在测试一项激进但受控的解决方案:当客户端内存占用突破 4GB 警戒线时,系统将自动重启应用。官方强调,这是一项旨在恢复性能的必要措施,而非应用崩溃。

Discord 承认资源占用问题

这项自动重启功能并非无差别执行,而是设定了严格的触发门槛以保护用户体验。根据 Discord 员工在 Reddit 上的解释,重启仅在同时满足以下三个条件时才会发生:

  • 应用已连续运行超过 1 小时

  • 用户处于闲置状态(无键鼠操作)超过 30 分钟

  • 且当前未连接任何语音或视频通话。

  • 此外,该机制设有“冷却时间”,每 24 小时最多触发一次,确保不会频繁打断用户。

Discord 性能问题的根源在很大程度上与其采用的 Electron 框架有关。Electron 本质上是一个集成了 Node.js运行时的谷歌浏览器(Chrome)窗口。

Electron 是一种由 GitHub 开发的开源软件框架,支持开发者使用 Web 技术(HTML、CSS、JavaScript)来构建跨平台的桌面应用程序。

该框架相当于给网页穿了一层“外衣”,让它看起来像个电脑软件,但因为它本质上是在运行一个浏览器(Chromium),所以通常比原生软件更占内存。

在 Discord 中,每一个服务器、消息列表或功能模块都类似于浏览器的一个独立标签页。随着用户浏览的内容增多,内存占用便会不断叠加。这也解释了为何同样基于 Electron 的 Microsoft Teams 也会面临类似的内存困境。

Microsoft Teams 也面临类似的内存困境

尽管框架本身存在局限,Discord 仍致力于通过代码优化来改善现状。公司于 2025 年 10 月启动了针对 Windows 平台的内存缩减计划。

开发团队目前已成功定位并修复了 9 种导致内存泄漏的特定场景,并与硬件合作伙伴协同解决了部分驱动层面的上游问题。数据显示,经过初步优化,Discord 在高负载情况下的内存占用(P95 数值)已下降了 5%。

注:P95 数值是统计学术语,指将所有用户的内存占用数据从低到高排序,排在 95% 位置的那个数值。通俗来说,这代表了绝大多数用户(排除掉最极端的 5% 情况)在最糟糕情况下的内存占用水平,是衡量软件性能优化的重要指标。

该媒体指出,除了框架问题,Discord 自身的代码构建质量也受到了外部开发者的质疑。有开发者发现,Discord 在获取系统信息时,并未直接调用标准的 Windows API,而是低效地通过 PowerShell 执行庞大的命令(如 Get-WmiObject),这种“笨重”的操作方式进一步加剧了性能损耗。