Jakie masz pytanie?

lub

Dlaczego wraz z upływem czasu strony internetowe są coraz gorzej optymalizowane pod kątem zużycia zasobów? Czy ich twórcy zakładają, że użytkownicy dysponują nieograniczoną ilością pamięci RAM?

Większe zużycie zasobów Prawo Wirth’a sprzęt Frameworki obciążają pamięć RAM
avatar

Gość (5.172.*.*)



Odpowiedź:

Otwierasz przeglądarkę, wczytujesz trzy karty z ulubionymi portalami informacyjnymi, a wentylator w Twoim laptopie nagle zaczyna brzmieć, jakby przygotowywał się do startu w kosmos. Brzmi znajomo? To zjawisko nie jest tylko Twoim złudzeniem – współczesne strony internetowe faktycznie konsumują znacznie więcej zasobów niż te sprzed dekady. Choć dysponujemy coraz szybszymi procesorami i ogromnymi pokładami pamięci RAM, komfort przeglądania sieci wcale nie rośnie proporcjonalnie do postępu technologicznego. Przyczyn tego stanu rzeczy jest kilka i wynikają one zarówno z technologii, jak i czystego biznesu.

Prawo Wirth’a, czyli dlaczego sprzęt nie nadąża za oprogramowaniem

W świecie technologii istnieje ciekawe spostrzeżenie zwane prawem Wirth’a. Głosi ono, że oprogramowanie spowalnia szybciej, niż sprzęt przyspiesza. To paradoks, który idealnie tłumaczy, dlaczego mimo posiadania 16 GB czy 32 GB pamięci RAM, nadal odczuwamy "zamulanie" przeglądarki.

Twórcy stron internetowych i aplikacji webowych często wpadają w pułapkę dostępności zasobów. Skoro przeciętny użytkownik ma coraz lepszy komputer, programiści przestają walczyć o każdy kilobajt kodu. Optymalizacja jest procesem drogim i czasochłonnym. Z perspektywy firmy taniej jest wypuścić produkt szybciej, licząc na to, że moc obliczeniowa urządzenia użytkownika "udźwignie" brak optymalizacji, niż płacić zespołowi inżynierów za miesiące pracy nad odchudzaniem kodu.

Frameworki i biblioteki – wygoda programisty kosztem Twojego RAM-u

Kiedyś strony budowało się głównie w czystym HTML-u i CSS, z niewielką domieszką JavaScriptu. Dzisiaj większość nowoczesnych witryn to tak naprawdę skomplikowane aplikacje działające wewnątrz przeglądarki. Aby przyspieszyć proces tworzenia, programiści korzystają z gotowych fundamentów, takich jak React, Angular czy Vue.

Choć te narzędzia pozwalają na tworzenie interaktywnych i efektownych interfejsów, niosą ze sobą ogromny bagaż. Często, aby wyświetlić prosty tekst i obrazek, przeglądarka musi najpierw pobrać i przetworzyć potężne biblioteki kodu, które ważą po kilka megabajtów. To tak, jakbyś zamawiał pizzę, a dostawca przyjeżdżał ciężarówką z całym wyposażeniem kuchni, mimo że potrzebujesz tylko jednego pudełka.

Trzecia strona medalu: skrypty śledzące i reklamy

Jeśli wejdziesz na duży portal informacyjny, sama treść, którą czytasz, stanowi zazwyczaj ułamek danych przesyłanych do Twojego komputera. Reszta to "pasażerowie na gapę":

  • Skrypty analityczne: Sprawdzają, gdzie klikasz, jak długo czytasz i skąd przyszedłeś.
  • Systemy reklamowe: Licytują w czasie rzeczywistym, którą reklamę Ci wyświetlić.
  • Widgety mediów społecznościowych: Przyciski "Lubię to" czy osadzone posty, które ładują własne zasoby w tle.

Każdy taki skrypt to dodatkowe operacje dla procesora i kolejne megabajty w pamięci operacyjnej. Często zdarza się, że to nie sama strona jest ciężka, ale dziesiątki zewnętrznych usług, które próbują dowiedzieć się o Tobie jak najwięcej.

Czy twórcy zakładają, że mamy nieograniczony RAM?

W pewnym sensie – tak. W branży technologicznej dominuje podejście "Time to Market" (czas wprowadzenia na rynek). Priorytetem jest dostarczenie nowej funkcji przed konkurencją. Jeśli strona działa płynnie na najnowszym MacBooku programisty, często uznaje się, że jest "wystarczająco dobra".

Niestety, cierpią na tym użytkownicy starszych urządzeń lub budżetowych smartfonów. Twórcy rzadko testują swoje dzieła na sprzęcie ze średniej półki sprzed trzech lat. Zakładają, że skoro pamięć RAM jest tania i powszechna, optymalizacja pod kątem jej zużycia nie jest już kluczowym wskaźnikiem sukcesu (KPI).

Ciekawostka: Ile ważyła pierwsza strona internetowa?

Pierwsza w historii strona internetowa, stworzona przez Tima Bernersa-Lee w 1991 roku, składała się wyłącznie z tekstu i linków. Jej rozmiar liczony był w bajtach. Dzisiaj średnia waga strony głównej popularnych serwisów przekracza 2-3 megabajty, co oznacza wzrost o kilka tysięcy procent!

Obrazy i wideo, które "puchną" w oczach

Kolejnym winowajcą są multimedia. Chcemy oglądać zdjęcia w wysokiej rozdzielczości i wideo w 4K. Choć istnieją nowoczesne formaty kompresji (jak WebP czy AVIF), wiele stron nadal serwuje ogromne pliki JPEG lub PNG, które nie zostały odpowiednio przeskalowane. Przeglądarka musi pobrać taki plik, rozpakować go w pamięci i dopasować do ekranu, co jest ogromnym obciążeniem dla pamięci RAM, zwłaszcza przy przewijaniu długich stron (tzw. infinite scroll).

Czy możemy coś z tym zrobić?

Jako użytkownicy mamy ograniczony wpływ na to, jak programiści piszą kod, ale możemy chronić swoje zasoby. Stosowanie rozszerzeń typu "ad-block" lub "script-block" potrafi drastycznie zmniejszyć zużycie pamięci RAM przez przeglądarkę, ponieważ blokuje one najbardziej zasobożerne elementy, które nie są niezbędne do wyświetlenia treści.

Współczesny internet stał się "ciężki", bo stał się platformą usługową, a nie tylko informacyjną. Dopóki szybkość dostarczania nowych funkcji będzie ważniejsza niż efektywność kodu, nasze przeglądarki pozostaną najbardziej wymagającymi programami na naszych komputerach.

Podziel się z innymi: