更新您的 Slack 和 Discord 客户端,Electron 与 Tahoe 系统 GPU 卡顿问题已修复

文章配图

一个与 macOS 26 Tahoe 图形引擎冲突的 Electron 漏洞曾导致 Slack、Discord 和 VS Code 等应用程序拖慢 Mac 运行速度,但最新的更新终于修复了此问题。

自 2025 年 9 月 macOS 26 Tahoe 发布后,用户注意到他们的 Mac 运行迟缓,尤其是在长时间运行某些应用程序后。简单的操作如滚动页面或切换窗口都会出现延迟,风扇也无故高速旋转。

其共同因素是 Electron,这个跨平台应用程序框架支撑着 Slack、Discord、Figma 等数十款应用程序。但据 Shameelectron 的报告,这种性能下降并非偶然。

它源于 Electron 渲染层深处的一行代码。苹果更新的图形引擎暴露了一个隐藏多年、未被察觉的缺陷。

Electron 与 Tahoe 系统卡顿问题的起源

Electron 的成功在于其便利性。开发者使用 HTML 和 JavaScript 等 Web 技术编写一次代码,即可将相同的应用程序发布到 macOS、Windows 和 Linux 系统。

然而,这种效率取决于 Electron 与每个操作系统窗口系统的交互方式。

在旧版本 macOS 中,Electron 使用了一个名为 “_cornerMask” 的私有 AppKit 方法来管理窗口圆角和阴影效果。该方法并非苹果官方 API 的一部分,但多年来一直运作良好。

然而,macOS Tahoe 改变了系统绘制和合成窗口的方式,问题便由此开始。

苹果的重新设计为”液态玻璃”美学引入了新的渲染管线,强调透明度、柔和圆角和动态阴影。Electron 的隐藏覆写开始与这些更改产生冲突。

修复原理

每个可见窗口都会导致 WindowServer 重复绘制阴影,从而浪费 GPU 资源。结果就是系统运行速度变慢。

用户注意到了标准性能工具中并未显示的延迟,即使 CPU 使用率看起来正常。每当 Slack 或 Discord 可见时,WindowServer 的 GPU 占用时间就会激增,而最小化应用程序则会立即恢复流畅度。

问题根源一经追踪,Electron 的维护者迅速采取了行动。他们移除了私有的 “_cornerMask” 覆写,并恢复了 macOS 的默认渲染路径。

只是应用程序开发者需要时间来集成新的 Electron 框架。

已修复的应用程序

这个简单的更改停止了持续的重复绘制循环,使 WindowServer 恢复正常行为。该修复已包含在 Electron 版本 36.9.2、37.6.0 和 38.2.0 中。

以下知名应用程序已发布包含 Electron 修复程序的版本。

  • 已修复:Slack
  • 已修复:Discord
  • 已修复:Figma
  • 已修复:Visual Studio Code

运行这些应用程序最新版本的用户在 macOS Tahoe 上应能体验到正常的性能。

尚未修复的知名应用程序

以下知名应用程序仍在使用旧版 Electron 构建,在更新之前可能继续引发 WindowServer GPU 占用激增。

  • 未修复:1Password
  • 未修复:Dropbox
  • 未修复:Bitwarden
  • 未修复:Postman

在这些应用程序采用修复后的 Electron 版本之前,用户在其运行时可能仍会遭遇卡顿现象。

用户注意到了标准性能工具中并未显示的延迟,即使 CPU 使用率看起来正常。

应用程序开发者现在需要使用上述 Electron 版本之一重新构建应用程序,用户才能看到改进。但关键在于——修复并非自动完成。

每个依赖 Electron 的应用程序都必须更新其框架,卡顿问题才会消失。Slack、Discord 和 Figma 已开始推出新版本,但规模较小的开发者可能滞后。

用户可以采取的措施

唯一可靠的修复方法是开发者使用修复后的 Electron 版本重新构建其应用程序。用户无法自行解决此问题,但可以检查更新并在”活动监视器”中监控 GPU 负载。

如果某个应用程序打开时 WindowServer 消耗了大量 GPU 资源,则该应用程序可能尚未重新构建。一些人尝试了变通方法,例如禁用透明效果或在空闲时最小化受影响的应用程序。

这些调整可能暂时减轻 GPU 压力,但并未解决根本原因。目前,保持应用程序为最新版本是最佳选择。

一旦安装了修复后的 Electron 版本,性能将恢复正常,GPU 活动也会回落到基线水平。

Related Posts

发表回复

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