
Discord 正計畫全面重製旗下應用程式,改以現代系統語言 Rust 開發,正式告別桌面版長期使用的 Electron,以及手機版採用的 React Native。
Discord 共同創辦人暨技術長 Stanislav Vishnevskiy 於 11 月 4 日在 X 公開這項計畫,並透露新版本將採用 GPUI 框架打造,希望近期就能開放使用者測試。
Vishnevskiy 表示,Discord 從 2018 年便開始採用 Rust,目前已有大量基礎架構、語音技術,甚至現行用戶端的部分功能都以 Rust 開發,而這次重製的最終目標,就是讓整個應用程式都使用 Rust。
雖然架構改投換面,但新的 Discord 手機版會保留原生 UI,透過 Rust 與桌面版共用應用程式程式碼,藉此整合不同平台的開發架構。
新版 Discord 改用 GPUI,記憶體占用約 290 MB
Discord 重製並非採用網友猜測的 Tauri,而是選擇 GPUI 框架,Vishnevskiy 公開了一張 Windows 工作管理員截圖,新版程式以「Discord Phoenix」為名稱執行,當時記憶體使用量約為 290.2 MB,且同時開了兩個 Discord 帳號。
至於新版的操作體驗會要重新適應?Vishnevskiy 表示:「應用程式的外觀與運作方式都會和現行版本完全相同。」新版將採用原生架構,只有 YouTube、Activities 等功能才會使用作業系統提供的 WebView。至於效能表現,團隊預期新版會有所改善。
目前 Discord 尚未公布正式推出日期,Vishnevskiy 透露很快就能讓使用者參與測試。現行 Windows 電腦版 Discord 的記憶體占用問題源自開發架構 Electron,Electron 會將 Chromium 等瀏覽器相關技術包進應用程式增加資源消耗。
根據 Windows Latest 報導,實際測試 Discord 閒置也會占用 1 至 2 GB 記憶體(本文測試約 600 MB),Discord 過去也曾承認,Windows 用戶端在一般情況下的記憶體使用量通常低於 1 GB,但部分情況可能攀升至 4 GB,團隊試過在記憶體使用量超過 4 GB 時自動重新啟動程式的機制。
:format(jpeg):quality(90)/https%3A%2F%2Fimg.4gamers.com.tw%2Fpuku-clone-version%2F9915d29cc3c89c1f625261855591e727f3e378d5.jpg)
相較之下,新版 Discord Phoenix 截圖的 290.2 MB 確實顯示出相當大的差異,但目前還在前期單次測試,實際正式版的資源使用量有待後續確認。
Discord 早在 2020 年便公開說明逐步導入 Rust 開發,開發人員將負責追蹤玩家已讀頻道與訊息的 Read States 服務從 Go 改用 Rust,以改善服務運作時出現的延遲峰值。
Discord 當時也提到,Rust 已應用於遊戲 SDK、Go Live 的影片擷取與編碼,以及其他後端服務,改用 Rust 後的服務在延遲、CPU 使用量與記憶體占用等面向都有改善。
這次 Discord 進一步將 Rust 擴大應用至完整用戶端,讓桌面與手機版共用核心程式碼,Vishnevskiy 也表示,團隊在 GPUI 加入自行開發的修改,之後會評估將適合的改動回饋給開源社群。