W systemie Windows 11 liczne, powszechnie używane aplikacje znacząco obciążają zasoby systemowe, zwłaszcza pamięć RAM. Sytuację tę pogarszają rosnące ceny pamięci RAM i rosnący trend wśród deweloperów faworyzujących aplikacje internetowe nad tradycyjnymi, natywnymi odpowiednikami. Takie zmiany mogą negatywnie wpłynąć na ogólną wydajność komputerów stacjonarnych i laptopów.
Najnowsze raporty Windows Latest wskazują, że aplikacje takie jak Discord, Teams i niedawno odświeżony WhatsApp zużywają znaczną ilość pamięci RAM, nawet gdy działają w tle. Aplikacje te koncentrują się głównie na komunikacji, co wymaga ich ciągłej aktywności, a to z kolei przekłada się na zwiększone zapotrzebowanie na zasoby.
Testy wykazały, że starsze wersje niektórych aplikacji, takie jak natywny WhatsApp, wykorzystują znacznie mniej pamięci RAM. Pomimo dużego zaangażowania użytkowników w różnych domenach, zaniedbanie wersji natywnych rodzi istotne pytania. Dlaczego deweloperzy nie inwestują w zoptymalizowane aplikacje natywne dla najpopularniejszej platformy desktopowej?
Najwięksi przestępcy pamięci RAM w systemie Windows 11
Biorąc pod uwagę rosnące koszty pamięci RAM, omówienie zużycia pamięci RAM przez aplikacje jest niezwykle trafne. Sytuacja pogarsza się, ponieważ Micron wycofuje się z ** działu pamięci RAM dla konsumentów **, który w znacznym stopniu przyczynia się do wzrostu cen.
Po premierze system Windows 11 spotkał się z krytyką za wysokie wymagania dotyczące pamięci RAM, ale do 2025 roku sytuacja się pogorszyła. Kluczowe aplikacje komunikacyjne zużywają pamięć RAM, jakby była ona nieskończonym zasobem.
Discord: Gigant żądny pamięci RAM
Discord, platforma popularna wśród graczy i społeczności internetowych, wyróżnia się jako platforma zużywająca znaczną ilość pamięci RAM. Zbudowany na frameworku Electron, Discord skutecznie działa jako instancja przeglądarki Chromium w połączeniu z Node.js. Każda interakcja, od dołączania do serwerów po uczestnictwo w kanałach, generuje dodatkowe procesy w architekturze przeglądarki, przyczyniając się do zużycia pamięci RAM.

Chociaż Discord twierdzi, że typowe wykorzystanie pamięci RAM wynosi około 1 GB, rzeczywiste scenariusze pokazują, że może ono łatwo wzrosnąć do 4 GB. Ta nieefektywność skłoniła firmę do eksperymentów z funkcją „automatycznego restartu” mającą na celu odzyskiwanie pamięci. Funkcja ta aktywuje się, gdy aplikacja pozostaje bezczynna przez 30 minut i nie prowadzi żadnej rozmowy przez co najmniej godzinę.
Ten ruch, choć pomyślany jako rozwiązanie, wydaje się raczej doraźnym rozwiązaniem wewnętrznych problemów. Pomimo pracy nad rzeczywistymi problemami wycieków pamięci, oczywiste jest, że podstawowa struktura Electrona z natury prowadzi do nadmiernego wykorzystania zasobów.
Mimo że Discord zdaje sobie sprawę z problemu z pamięcią RAM, jego ograniczenia finansowe utrudniają podjęcie znaczących inwestycji w rozwój aplikacji natywnej, co jest odzwierciedleniem powszechniejszego trendu nieefektywności wśród aplikacji komunikacyjnych.
WhatsApp: od natywnej szybkości do powolnej wydajności
Przejście WhatsApp z responsywnej, natywnej aplikacji na powolną platformę webową oznacza zauważalny spadek komfortu użytkowania. Pierwotny klient UWP i WinUI był lekki i wydajny, zazwyczaj wykorzystując około 100 MB pamięci RAM nawet w scenariuszach intensywnego użytkowania.
Jednak wprowadzenie nowej wersji, zaprojektowanej jako wrapper WebView2, znacznie zwiększyło zużycie pamięci. Wstępne testy wykazały bazowe zużycie pamięci RAM na poziomie około 300 MB, które wzrasta do około 1, 2 GB, gdy aplikacja synchronizuje czaty i użytkownicy przewijają wiadomości.
Co więcej, aplikacja cierpi na spadki wydajności, zwłaszcza zauważalnie niższą liczbę klatek na sekundę i zauważalne opóźnienia podczas przełączania się między czatami. Zamknięcie aplikacji nie przerywa jej działania; zamiast tego minimalizuje się ona do zasobnika systemowego, nadal zużywając pamięć RAM na powiadomienia w tle, czego brakowało w poprzedniej wersji natywnej.
Mimo że Meta oferuje natywną aplikację na macOS, stawia na środowisko internetowe w systemie Windows, czyli na bardziej popularną platformę, co odzwierciedla brak zaangażowania w dostarczanie zoptymalizowanych aplikacji.
Microsoft Teams: marne doświadczenie użytkownika
Microsoft Teams, który przeszedł z Electrona na WebView2, nadal charakteryzuje się niską wydajnością pamięci RAM. Aplikacja często zużywa około 1 GB pamięci RAM w okresach bezczynności, co pokazuje, że sama zmiana frameworka nie rozwiązuje podstawowych problemów.
W odpowiedzi na te obawy Microsoft ogłosił zmiany strukturalne w Teams, takie jak wprowadzenie oddzielnego procesu wywoływania funkcji. Zmiany te nie rozwiązują jednak problemu polegania na architekturze WebView2, która nadal powoduje problemy z wydajnością.

Rzeczywistość pozostawia wiele do życzenia, zwłaszcza że Microsoft polega na Teams w zaspokajaniu codziennych potrzeb komunikacyjnych swoich klientów korporacyjnych.
Zrozumienie wykorzystania pamięci RAM w obecnych aplikacjach systemu Windows
Większość nowych aplikacji dostępnych w sklepie Microsoft Store nie do końca odpowiada tradycyjnej definicji aplikacji systemu Windows; zamiast tego często przypominają one silniki przeglądarek. Platformy takie jak Electron, WebView2 i progresywne aplikacje internetowe (PWA) opierają się na wbudowanym środowisku uruchomieniowym Chromium.
Na przykład każda aplikacja Electron ma własny silnik JavaScript i powiązane procesy. Interakcja z różnymi aspektami aplikacji – takimi jak czaty czy kanały – generuje dodatkowe procesy w piaskownicy, co znacznie zwiększa zużycie pamięci RAM.
WebView2 stara się złagodzić ten problem, wykorzystując istniejącą instalację Microsoft Edge do renderowania, ale nie eliminuje całkowicie nieefektywności wbudowanej w jego strukturę. Zasadniczo aplikacja WhatsApp, choć wygląda jak prosty interfejs czatu, działa w tle jako złożona karta przeglądarki.

Podobne zachowania wykazują również aplikacje PWA, takie jak aplikacja Reddit, co dowodzi powszechnego uzależnienia od wieloprocesowej architektury Chromium.
Kompromisy Electron kontra WebView2
Pod względem technicznym WebView2 oferuje przewagę nad Electronem pod względem wydajności. Podczas gdy Electron tworzy pełną wersję przeglądarki dla każdej aplikacji, WebView2 wykorzystuje istniejące instalacje Microsoft Edge, zmniejszając obciążenie. Pozostaje jednak ściśle powiązany z systemem Windows i zależny od Edge, co ogranicza jego przenośność.
Te decyzje architektoniczne nie są arbitralne; mają na celu wzmocnienie standardów bezpieczeństwa i wydajności. Nowoczesne przeglądarki stosują ścisłą izolację procesów w celu ochrony danych użytkownika, co prowadzi do zwiększonego wykorzystania pamięci RAM. W związku z tym aplikacje wykorzystujące te architektury silników będą nieuchronnie generować wyższe koszty pamięci.
Co więcej, współczesne frameworki JavaScript pogarszają tę sytuację, zwiększając zapotrzebowanie na zasoby. Zarządzanie stanem po stronie klienta i rozbudowane pakiety sprawiają, że nawet zoptymalizowane aplikacje utrzymują wysoki poziom zużycia pamięci.
Wyzwania związane z wyciekami pamięci
Kolejnym problemem są wycieki pamięci, często spowodowane nierozwiązanymi odwołaniami JavaScript lub akumulacją nasłuchiwaczy zdarzeń. Frameworki, które przechowują nieaktywne obiekty w pamięci podręcznej lub nie zwalniają odpowiednio pamięci, pogłębiają te problemy, o czym świadczą znaczne skoki obserwowane w aplikacjach takich jak Discord.
Obawy te dotyczą aplikacji Electron, Chromium Embedded Framework (CEF) i WebView2, uwypuklając znaczną lukę między narzędziami do debugowania a ich natywnymi odpowiednikami.
Dlaczego preferencje dotyczące aplikacji internetowych są nadal aktualne
Pomimo tych wad, uzasadnieniem dla tworzenia aplikacji internetowych pozostaje opłacalność. Pojedyncza baza kodu JavaScript może skutecznie obsługiwać wiele systemów operacyjnych, takich jak Windows, macOS i Linux, przy minimalnych zmianach, co prowadzi do skrócenia czasu rozwoju i usprawnienia procesów rekrutacyjnych.
Co więcej, firmy priorytetowo traktują spójność marki na wszystkich platformach, często uciekając się do web wrapperów, aby to osiągnąć. Jednak takie podejście pomija unikalną estetykę różnych środowisk systemów operacyjnych — co ilustrują spójne zasady projektowania Apple.
Rozczarowująca jest rzeczywistość, że wiele organizacji, w tym Microsoft, przedkłada aplikacje webowe nad tradycyjne rozwiązania natywne. Aplikacje takie jak WhatsApp odeszły od funkcjonalnych wersji natywnych, podczas gdy Teams nadal działa jako aplikacja webowa.
Nawet części systemu operacyjnego Windows, takie jak nowa funkcja Agenda w panelu powiadomień, przyjęły funkcjonalność WebView2, co stanowi przykład niepokojącego trendu polegającego na umieszczaniu zawartości strony internetowej w podstawowych funkcjach systemu.
Porównanie wydajności aplikacji dla systemu Windows i Apple
Z kolei użytkownicy ekosystemu Apple są mniej tolerancyjni wobec aplikacji niskiej jakości, co zmusza deweloperów do inwestowania w wydajne, natywne środowiska macOS, pomimo związanych z tym kosztów. Trudności w tworzeniu solidnych aplikacji natywnych, szczególnie na macOS, wynikające z surowych przepisów, dodatkowo to podkreślają.
Chociaż tworzenie aplikacji dla systemu Windows może być prostsze dzięki rozbudowanym frameworkom i wspierającemu ekosystemowi firmy Microsoft, użytkownicy przyzwyczaili się do oprogramowania zorientowanego na internet. W związku z tym informacje zwrotne dotyczące wydajności są zazwyczaj skąpe, co pozwala firmom inwestować mniej w optymalizację.
Popularność aplikacji internetowych nadal rośnie, często napędzana przez rynek konsumencki, który nie stawia wydajności ponad wygodę. Ponieważ wiele firm koncentruje się na funkcjonalnościach, a nie na jakości, wydajność pamięci RAM często schodzi na dalszy plan.
Przyszłość cen pamięci RAM i aplikacji Windows
Najnowsze trendy wskazują na wzrost cen pamięci RAM, co stanowi wyzwanie dla użytkowników poszukujących ulepszeń. Czynniki, które się do tego przyczyniają, to kurcząca się podaż dla konsumentów, agresywne cykle cenowe nowszych modułów DDR5 oraz rosnący popyt napędzany przez centra danych oparte na sztucznej inteligencji. To z kolei skłania producentów do priorytetowego traktowania układów klasy korporacyjnej.
Nie ma prostego rozwiązania problemu wszechobecności aplikacji Windows. Microsoft musi wprowadzić znaczące zmiany, aby zachęcić programistów do tworzenia aplikacji natywnych, zwiększyć atrakcyjność WinUI i podkreślić znaczenie jakości w ekosystemie.
Jeśli system Windows ma odnieść sukces w świecie, w którym aplikacje są coraz częściej obsługiwane przez przeglądarkę, musi przewodzić zmianom, oferując ulepszone środowisko dla użytkowników i programistów, czyniąc platformę bardziej atrakcyjną dla aplikacji o wysokiej wydajności.
Dodaj komentarz