這類前端應(yīng)用會(huì)導(dǎo)致 macOS 26 系統(tǒng)卡死,趕緊自查!

隨著 macOS 26 上線,很多人第一時(shí)間就升了級,結(jié)果發(fā)現(xiàn)一個(gè)大坑:只要開著一些 Electron 應(yīng)用(比如 VS Code),系統(tǒng)就會(huì)變得很慢,甚至整機(jī)卡死。
這不是個(gè)別情況,而是 macOS 26 新的圖形渲染方式跟 Electron 的實(shí)現(xiàn)撞上了。
現(xiàn)象
升級到 macOS 26 后,你可能會(huì)遇到:
?拖動(dòng)卡頓:拉動(dòng) Electron 應(yīng)用的窗口時(shí),不只是這個(gè)窗口,整個(gè)桌面的 UI 都會(huì)掉幀,從原本的 120fps 瞬間掉到 60fps,甚至更低。
?開得越多越嚴(yán)重:如果同時(shí)開好幾個(gè) Electron 應(yīng)用,問題會(huì)被放大,甚至連非 Electron 應(yīng)用(比如 Chrome 或系統(tǒng)設(shè)置)都會(huì)跟著卡。最小化窗口后會(huì)好一些,但只要窗口還在桌面上,就能看到 GPU 占用飆高、風(fēng)扇狂轉(zhuǎn)。
?特定操作觸發(fā):滾動(dòng)聊天窗口、切換標(biāo)簽頁、編輯代碼時(shí)最容易觸發(fā)。打開系統(tǒng)日志,會(huì)發(fā)現(xiàn) WindowServer 進(jìn)程 GPU 占用異常。
原因
問題出在 macOS 26 帶來了新的界面效果,比如 “Liquid Glass”,Apple 在系統(tǒng)底層調(diào)整了窗口圓角和陰影的渲染方式。
而 Electron 為了實(shí)現(xiàn)無邊框、圓角這些自定義窗口效果,用了 macOS 里的私有 API 去改系統(tǒng)的默認(rèn)行為。結(jié)果就是在新機(jī)制下產(chǎn)生了沖突,導(dǎo)致:
?WindowServer 負(fù)擔(dān)過重:渲染任務(wù)被放大,GPU 占用急劇上升。
?系統(tǒng)整體被拖慢:WindowServer 負(fù)責(zé)整個(gè)桌面繪制,它一旦出問題,整個(gè) macOS UI 就會(huì)跟著卡。
解決
好消息是,Electron 團(tuán)隊(duì)已經(jīng)確認(rèn)并修復(fù)了這個(gè) Bug。
解決思路很簡單:升級項(xiàng)目里使用的 Electron 版本。
當(dāng)前主版本 | 升級到的最低版本 | 修復(fù)內(nèi)容 |
38.x.x | v38.2.0 + | 解決 macOS 26 卡頓問題 |
37.x.x | v37.6.0 + | 解決 macOS 26 卡頓問題 |
36.x.x | v36.9.2 + | 解決 macOS 26 卡頓問題 |
啟示
這事也算給大家提了個(gè)醒:
?別去動(dòng)私有 API:為了窗口陰影、透明度這些效果,Electron 之前靠過一些系統(tǒng)內(nèi)部接口。問題是,Apple 一改底層,這些“小捷徑”馬上就出問題。
?版本要跟上:Electron 官方會(huì)盡快適配新系統(tǒng)。我們最省事的做法,就是及時(shí)升級,不要拖著不動(dòng)。
最后說一句
macOS 大版本升級,帶來兼容性問題很正常。
這次 macOS 26 卡頓,就是因?yàn)橄到y(tǒng)底層的渲染機(jī)制變了,Electron 老做法頂不住。
如果你在維護(hù) Electron 應(yīng)用,現(xiàn)在就去翻一下 package.json,看看是不是該升級 Electron 了。別等用戶來吐槽“怎么一用就卡死”,再去補(bǔ)鍋。






























