改用 Rust 重寫 記憶體佔用率降至約 290MB
【太好了 😍】被玩家狂插是垃圾軟體的 Discord PC 版本,官方終於宣布將全面棄用 Electron,改用 Rust 語言與 GPUI 框架全面重寫。這項代號為「Discord Phoenix」的鳳凰重生工程目前進度良好,內部測試版在 Windows 11 環境下的記憶體佔用量僅約 290 MB,較目前版本動輒耗費數 GB 的情況大幅改善。
為何 Discord PC 版本會被稱為垃圾軟體?因為它是採用 Electron 框架打造,其本質是將 Web 網頁打包,並內嵌獨立的 Chromium 核心與 Node.js 執行環境。這類架構雖然大幅降低了跨平台開發成本,但代價是高度消耗系統資源,即使處於背景閒置狀態,記憶體佔用量亦常態性達到 1 GB 至 2 GB;若使用者加入眾多伺服器、開啟多重視訊或長時間運行,記憶體佔用甚至會攀升至 4 GB 之譜。
過去 Discord 為了解決「太食 RAM」的問題,內部雖曾嘗試多項暫時性修復方案,例如當記憶體使用量超過 4 GB 時自動重啟客戶端,但始終治標不治本,無法從根本解決框架本身的資源浪費問題。
好消息是,Discord 創辦人兼技術長(CTO)Stanislav Vishnevskiy 宣布,Discord PC 版本已經開始重寫,核心轉向 Rust、介面捨棄 Web 技術改採 GPUI,最終將整個 PC 版本完全轉移至 Rust 架構,而手機版本則同步移除 React Native 框架。未來流動版將保留原生介面(Native UI),並透過 Rust 與桌面端共享底層核心邏輯程式碼。
從 Stanislav Vishnevskiy 提供的截圖顯示,新架構客戶端在 Windows 系統運行時的記憶體佔用已成功壓低至 290.2 MB,降幅超過 80%,相較過去 Discord 現行版本單是啟動後就耗用 1 GB 至 2 GB 存在巨大差異。
此外,從 Stanislav Vishnevskiy 提供的測試對比可見,左側執行的是全球數億用戶日常使用的現行版 Discord 客戶端,右側則是採用全新 Rust 架構開發的新版客戶端。在同時點擊啟動應用程式後,效能差異極為顯著:現行版本點擊後進入數秒的黑屏載入狀態,並依序跳出載入提示文字與連線畫面,耗時數秒才正式進入好友名單與聊天主介面;而全新 Rust 客戶端啟動後幾乎毫無延遲,主介面瞬間載入完成,好友名單與伺服器清單同步即刻就緒,整體反應極度靈敏,展示人員亦在現場直言「相當迅速(Pretty quick, right?)」。
HKEPC 期望各大企業能夠放棄基於 Chromium 與 Node.js 的 Electron 框架,盡快透過 AI 將程式重寫成 Rust 客戶端,以降低記憶體佔用率。Rust 語言以記憶體安全、零成本抽象(Zero-cost abstractions)及極致的執行效能著稱,透過改寫客戶端架構,將可大幅降低系統呼叫與資源初始化的額外負擔,還給用家一個輕快、低資源佔用的流暢桌面體驗。
資料來源: