Klient Discorda oparty na Rust przewyższa obecną aplikację Electron

Nadchodzący klient Discorda oparty na Rust załadował listę znajomych, zanim obecna aplikacja Electron wyszła poza ekran ładowania. Porównanie pojawiło się w 15-sekundowym filmie udostępnionym w serwisie X przez współzałożyciela i dyrektora technicznego Discorda, Stanislava Vishnevskiya. Film uzyskał 2,3 miliona wyświetleń, a pracownicy Discorda potwierdzili, że obie aplikacje uruchomiono na zimno.
Vishnevskiy wyjaśnił również, że nowy klient, widoczny w Menedżerze zadań jako Discord Phoenix, korzystał z 290,2 MB pamięci RAM podczas jednoczesnej obsługi dwóch zalogowanych kont.

Klient Rust otwiera się, zanim Electron zakończy ładowanie
„To, że nowy klient Discorda zużywa mniej pamięci RAM, jest tylko częścią historii. Klikanie i poruszanie się po aplikacji jest natychmiastowe, nie mogę już wrócić do poprzedniej wersji. Spójrzcie na czas uruchamiania” — napisał Vishnevskiy w serwisie X. Oficjalne konto Discorda również udostępniło porównanie, pokazując obecnego klienta po lewej stronie, a przebudowaną wersję opartą na Rust po prawej.
Analiza klatka po klatce pokazuje, że najpierw uruchomiono istniejącego klienta. Przez około trzy sekundy wyświetla on puste, ciemne okno, po czym pojawia się komunikat: „W dawnych czasach Discord zaczynał jako aplikacja działająca wyłącznie w przeglądarce”. Aplikacja Electron nadal zawiera obecnie silnik przeglądarki.
Nowy klient zostaje uruchomiony około 1,5 sekundy później, ale jego okno pojawia się w ciągu mniej więcej jednej sekundy. Zanim starsza aplikacja dociera do głównego interfejsu — około pięciu sekund po uruchomieniu — wersja Rust ma już załadowaną listę znajomych. W międzyczasie klient Electron przez chwilę wyświetla komunikat: „W tej chwili żaden ze znajomych nie jest online”.

Niektórzy widzowie zastanawiali się, czy nowa aplikacja nie została po prostu ponownie otwarta z zasobnika systemowego. Coral, kierujący w Discordzie zespołem ds. dźwięku i obrazu, odrzucił taką możliwość: „Obie aplikacje uruchomiono na zimno, ona naprawdę jest tak szybka. Od pewnego czasu używamy jej wewnętrznie i gdy wypróbowałem ją po raz pierwszy, pomyślałem, że zapomniałem ją zamknąć, kiedy uruchomiłem ją od nowa”.
Travis, który pracuje w zespole Discorda ds. społeczności i mediów społecznościowych oraz nagrał film, dodał, że uruchomienie z zasobnika oznaczałoby, iż „lista znajomych byłaby już załadowana”. Vishnevskiy podziękował mu za znalezienie starszych laptopów użytych w teście. Były to ThinkPady wyposażone w klawisz Copilot, co wskazuje, że zostały wydane w 2024 roku lub później.
Nowa aplikacja Discorda usuwa ekran „Uruchamianie”
Obecna aplikacja Discorda podczas uruchamiania zwykle sprawdza dostępność aktualizacji i wyświetla ekran „Uruchamianie”. Jeden z użytkowników serwisu X stwierdził, że proces ten „za każdym razem trwa jakieś 5–10 sekund”. Zapytany, dlaczego nowy klient pomija ten ekran, Coral wyjaśnił: „Uruchamia się tak szybko i wykorzystuje nową architekturę, że w ogóle nie potrzebujemy tego okna modalnego. Aktualizacje są automatycznie instalowane w tle”.

Discord nie rozpowszechnia obecnie tych aktualizacji za pośrednictwem MS Store ani platformy Windows Update Orchestration Platform. Coral potwierdził to, odpowiadając na pytanie: „W tej chwili tego nie robimy”.
Klient Discorda oparty na Rust zużywa około 70% mniej pamięci RAM
Gdy jeden z komentujących określił 290 MB jako nadmierne zużycie w przypadku aplikacji do czatowania, Vishnevskiy odpowiedział: „Te dekoracje awatarów w 4K muszą się gdzieś renderować ;) A tak już całkiem poważnie, ten klient obsługuje jednocześnie dwa konta, co jest możliwe w nowej wersji”.
Obecny przełącznik kont Discorda pozwala użytkownikom dodać maksymalnie pięć kont i przełączać się między nimi. Zapytany, czy nowy klient może utrzymywać aktywne konto służbowe i osobiste bez ponownego uruchamiania aplikacji przy przełączaniu, Vishnevskiy odpowiedział: „Tak”.

Dla porównania, w grudniu 2025 roku jeden z pracowników Discorda stwierdził, że typowe zużycie pamięci pozostaje poniżej 1 GB, a firma testowała automatyczne ponowne uruchamianie aplikacji, gdy zużycie osiągało 4 GB. Zgłoszone zużycie pamięci przez nowego klienta, wynoszące 290,2 MB, jest o około 70% niższe od poziomu 1 GB. Zaobserwowano również, że na niektórych komputerach obecna aplikacja Electron zużywa w stanie bezczynności od 1 GB do 2 GB.
Warto jednak pamiętać, że wartość ta pochodzi z pojedynczego pomiaru wczesnej wersji aplikacji. Discord nie opublikował jeszcze bezpośredniego testu porównawczego obu klientów przeprowadzonego w identycznych warunkach.
Discord już wcześniej próbował wewnętrznie poprawić wydajność Electrona. We wrześniowych informacjach o aktualizacji podano, że przejście na Electron 42 zmniejszyło medianę wykorzystania procesora o około 17%, ale odbyło się to „kosztem niewielkiego pogorszenia zużycia pamięci na poziomie p50 (~4%)”. Testowany później przełącznik trybu gry nie zawierał informacji o zużyciu pamięci RAM.
Discord zastępuje Electron platformą GPUI, a nie Tauri
Electron dziedziczy wieloprocesową architekturę Chromium. Każda aplikacja Electron zawiera więc własny silnik przeglądarki, proces główny oraz osobny proces renderujący dla każdego okna.
Wielu obserwatorów spodziewało się, że Discord wybierze Tauri, które wykorzystuje Rust do obsługi logiki aplikacji, a interfejsy tworzy za pomocą HTML, CSS i JavaScriptu wewnątrz systemowego komponentu webview. W systemie Windows tym komponentem jest WebView2.
Zamiast tego Discord wybrał GPUI, opisywany jako „szybki, hybrydowy, akcelerowany przez GPU framework interfejsu użytkownika dla Rust, łączący tryb bezpośredni i zachowany”. GPUI został stworzony przez twórców edytora kodu Zed. Renderuje interfejs bezpośrednio za pomocą GPU, bez użycia HTML, natomiast Rust — wykorzystywany przez Discorda od 2018 roku — zarządza pamięcią bez mechanizmu odśmiecania pamięci.
Discord nie informował o planach wdrożenia WinUI. Natywny framework MSu jest ograniczony do systemu Windows, podczas gdy GPUI obsługuje już edytor Zed w systemach Windows, macOS i Linux. Discord rozwija własne modyfikacje GPUI, a Vishnevskiy powiedział: „Zobaczymy, które z nich możemy przekazać do głównego projektu, jeśli okażą się przydatne dla społeczności”.
Technologie internetowe pozostaną tam, gdzie będzie to uzasadnione. Osadzone filmy z YouTube oraz Discord Activities będą korzystać z natywnego systemowego komponentu webview. Odnosząc się do Activities, Vishnevskiy powiedział: „Korzystamy z natywnego webview, podobnie jak Tauri”.
Aplikacje mobilne Discorda porzucą React Native
Aplikacje mobilne Discorda zachowają natywne interfejsy, a jednocześnie będą współdzielić kod aplikacji z klientem komputerowym za pośrednictwem Rust. Vishnevskiy wyjaśnił, że aplikacja na iOS od początku korzystała z React Native, natomiast aplikację na Androida przeniesiono do React Native kilka lat później, aby osiągnąć zgodność funkcji, ponieważ stale pozostawała w tyle.
Wersja przeglądarkowa nadal będzie renderować HTML, ale jej logika będzie korzystać z WebAssembly zamiast JavaScriptu. WebAssembly, czyli WASM, umożliwia uruchamianie w przeglądarce kodu napisanego w językach takich jak Rust, dzięki czemu aplikacja internetowa może współdzielić kod Rust Discorda.
Pomimo zmian architektonicznych użytkownicy nie powinni spodziewać się przeprojektowania aplikacji. Vishnevskiy powiedział: „Aplikacja wygląda i działa identycznie jak obecna wersja”.
Wkrótce rozpoczną się prywatne testy
Dyrektor marketingu Discorda, Ryan K. Rigney, poinformował, że klient oparty na Rust wkrótce trafi do prywatnych testów: „Nie będziemy się spieszyć, ponieważ najpierw chcemy mieć pewność, że jest stabilny i bezpieczny. Nie potrwa to jednak długo”. Discord nie ogłosił jeszcze daty publicznego wydania.

Mark Smith, wiceprezes Discorda ds. inżynierii, podkreślił, że „dostępność i bezpieczeństwo są dla nas równie ważne jak wydajność”. Coral potwierdził również, że nowy klient przechowuje tokeny logowania w systemowym magazynie kluczy, którym w systemach Windows 10 i Windows 11 jest Menedżer poświadczeń.
Projekt nie ogranicza się do systemu Windows. Zapytany, czy klient działa w systemie Linux, Rigney odpowiedział: „Tak”. Coral zauważył również, że wielu pracowników Discorda korzysta wewnętrznie z komputerów Mac.
Discord podnosi poprzeczkę dla komunikatorów w systemie Windows
Electron przez około dekadę umożliwiał Discordowi utrzymywanie jednej aplikacji komputerowej dla systemów Windows, macOS i Linux. Firma pokazała teraz, że platforma komunikacyjna na dużą skalę może usunąć dołączony silnik przeglądarki bez przeprojektowywania interfejsu użytkownika.

Zmiana ta wywiera również dodatkową presję na firmy Meta i MS. WhatsApp przeszedł z natywnej aplikacji dla systemu Windows, która w stanie bezczynności zużywała mniej niż 100 MB pamięci, na wersję opartą na WebView2, która według doniesień może wykorzystywać nawet 1,2 GB. MS Teams również korzysta z WebView2 i podczas testów zużywał 963 MB w stanie bezczynności, mimo że MS nadal promuje WinUI.
Rosnące zapotrzebowanie na infrastrukturę AI ograniczyło dostępność pamięci DRAM i podniosło jej ceny. Pavan Davuluri, szef działu Windows, powiedział, że „pamięć jest obecnie jednym z najważniejszych tematów w naszej branży”, ponieważ MS pracuje nad zmniejszeniem zużycia pamięci RAM przez Windows 11. W tych okolicznościach aplikacje, które wcześniej zużywały coraz więcej pamięci, ponownie znajdują się pod presją, by działać wydajniej.

