Discord承认其Windows 11应用占用资源过多,测试自动重启功能

2025-12-07
Discord app for Windows 11

本周在X平台上热议的话题是Discord的一个实验,该实验是在内存使用量高时自动重启桌面客户端,但结果表明这个实验并无恶意。Discord实际上对修复性能问题非常认真。不过Electron真的是Windows 11的正确选择吗?

Discord是一个Electron应用程序,如果你不熟悉Electron框架,可以把它看作是一个完整的Google Chrome窗口,运行着Node.js。现在,Discord的每个服务器或消息都是一个单独的标签页,随着你不断加载新的标签页(新的服务器、消息、功能),内存使用量不断增加。

没有人喜欢Electron,但遗憾的是,它是Windows上使用最广泛的框架之一,而Discord正是这样的公司之一。例如,Microsoft Teams是使用WebView2构建的,但它并没有比Electron好到哪里去,下面的截图证明了该应用程序仍然是个资源消耗大户。

MS teams resources usage
Teams的内存使用量很高,它也是一个网络应用程序

微软最近确认了Teams可能会消耗掉你所有的昂贵RAM。但该公司并没有抛弃这个网络框架,而是为通话创建了一个单独的进程以提高稳定性。

Discord承认Windows 11上的内存使用量过高

Discord表示,其Windows客户端的内存使用量通常在1GB左右,但最多可达到4GB。Discord表示正在更新该应用以减少内存使用量,并仍在进行一项实验,当内存使用量达到4GB时自动重启客户端。

“是的,我们正在测试当内存超过4GB时重启(正常使用量小于1GB),”Discord的一名员工在Windows Latest发现的Reddit帖子中写道。

Discord Windows app RAM usage

然而,这并不意味着当内存使用达到4GB时Discord就会自行退出并重新启动。相反,它查看一些指标,比如“用户状态”。

例如,如果你在键盘/鼠标输入处于闲置状态至少30分钟,或者没有连接到语音或视频通话,您可以期待Discord在内存使用达到4GB时自动重启。然而,还有另一个要求。该应用必须运行1小时。

Discord认为这个实验是出于好意,并且不会在24小时内重启客户端超过一次。

Discord确认测试多种修复以减少Windows 11上的内存使用量

Discord于2025年10月启动了减少Windows内存使用的“计划”,并取得了一些显著的进展。

例如,该公司在多达九种不同的情况下修复了内存泄漏。同样,Discord还减少了一些用户的高内存使用量。

“一些用户的数字至少比之前要低。总体来说,我们已经看到p95内存减少了5%,还有更多的工作要做,”该公司指出。

[我们]在平台/操作系统/驱动程序/硬件级别发现了上游问题,并与合作伙伴密切合作,提供独立的重现和最终的修复。”

Discord的问题不仅仅是Electron,因为该应用本身的构建也较差。

例如,一些开发者发现,Discord(通过一个名为systeminformation的库)在做一些非常笨拙的事情。它没有使用适当的Windows API,而是不断调用PowerShell,并使用像Get-WmiObject Win32_logicaldisk这样的大命令来仅仅获取基本系统信息。

这些问题后来得到了解决,但Discord仍然任重道远,这也是一个行业普遍的问题。Meta的WhatsApp for Windows 11现在也是一个网络应用,并且在后台什么都不做时也会使用多达1GB的内存。如果你不相信我,可以看看下面的截图:

WhatsApp for Windows RAM usage
“WhatsApp”是新版本,而“WhatsApp Beta”是旧版UPW/WinUI的截图

当微软自己的应用也是基于网络时,我真的不能怪Discord或Meta。你怎么看?在下面的评论中告诉我。