34

Karty Firefoksa wreszcie w osobnych procesach. Przeglądarka Mozilli mocno przyśpiesza

Projekt Electrolysis nie jest pewnie niczym nowym dla fanów przeglądarki Mozilli. W ramach tego przedsięwzięcia ma ona w końcu dogonić Chrome i zacząć działać w oddzielnych procesach. Najwyraźniej wreszcie inżynierom fundacji udało się tego dokonać, bo nowa funkcja jest już dostępna w kanale wydań nocnych. Co to oznacza? Zalet działania przeglądarki w wielu procesach jest kilka. […]

Projekt Electrolysis nie jest pewnie niczym nowym dla fanów przeglądarki Mozilli. W ramach tego przedsięwzięcia ma ona w końcu dogonić Chrome i zacząć działać w oddzielnych procesach. Najwyraźniej wreszcie inżynierom fundacji udało się tego dokonać, bo nowa funkcja jest już dostępna w kanale wydań nocnych. Co to oznacza?

Zalet działania przeglądarki w wielu procesach jest kilka. Przede wszystkim przyczynia się to do zwiększenia stabilności pracy programu. W razie jakiejkolwiek awarii na wybranej karcie lub „wysypania” się wtyczki, nie jesteśmy zmuszeni do ponownego uruchomienia programu, bowiem wystarczy jedynie zamknąć wadliwy moduł. W Chrome taki model funkcjonowania spisuje się świetnie. Szczególnie doceniam to w sytuacjach, kiedy zintegrowany z przeglądarką flash niedomaga, a dzieje się to nadzwyczaj często. W przypadku Firefoksa, najczęściej awarie kończyły się restartem przeglądarki. Co w przypadku posiadania kilku wtyczek oraz dodatków oznacza czekanie, a przecież nikt nie lubi czekać, czyż nie?

A skoro o czekaniu mowa, podzielenie kart na procesy to również szereg innych korzyści, które przełożą się na lepszą wydajność oraz responsywność programu. Aktualnie Firefox ma z tym duży problem. Owszem, sama przeglądarka dobrze sobie radzi z przetwarzaniem skryptów JavaScript i renderowaniem witryn. Sęk w tym, że każde działanie użytkownika – otwieranie nowych kart, przewijanie itd.  nie skutkuje do końca płynną i szybką odpowiedzią. Tutaj Mozilla równolegle prowadzi działania w ramach projektu Snappy, ale sam Electrolysis również znacząco przyczynił się do poprawy działania programu.

FirefoxNightly

Jest to mocno subiektywna opinia, ale korzystając z wersji UX zauważyłem, że animacje rozwijania kart, czy wysuwanie menu są jakby płynniejsze. Otwieranie nowej karty w tle nie sprawia, że aktualnej nie da się praktycznie komfortowo przewijać. Teoretycznie jedyną wadą wielowątkowego Firefoksa może być zwiększone zużycie pamięci. Z tym problemem borykają się użytkownicy Chrome. Przeglądarka potrafi (a wręcz lubi) pochłonąć nawet i 1 GB RAM-u na swoje potrzeby. Oczywiście rośnie to w miarę otwierania nowych kart. W przypadku Firefoksa różnica w stosunku do dotychczasowego rozwiązania ma być minimalna – tak przynajmniej wykazano na pierwszych testach z otwartymi 50 kartami. Zanim jednak nowe rozwiązanie finalnie trafi do kanału stabilnego, wiele w tej kwestii może ulec zmianie.

Wiele procesów to również wyższy poziom bezpieczeństwa. Mozilla wreszcie może zacząć izolować konkretne elementy, co uniemożliwi im wywarcie negatywnego wpływu na działanie komputera i dostęp do newralgicznych danych systemu. Do tej pory nie było to możliwe z uwagi na całą masę elementów wchodzących w skład głównego procesu. Teraz można ten trik zastosować chociażby do Flasha, co ma miejsce w Chrome. Tego typu piaskownica okazuje się naprawdę efektywnym rozwiązaniem, co potwierdzają chociażby kolejne edycje zawodów Pwn2Own (choć powiedzmy sobie szczerze – techniki obejścia sandboksa już istnieją i są stosowane przez cyberprzestępców).

Chcecie sprawdzić, jak spisuje się Firefox w wielu procesach? Wystarczy pobrać wersje Nightly i na ekranie ustawień about:config przestawić wartość browser.tabs.remote na true, a następnie zrestartować przeglądarkę. Warto jednak w tym celu utworzyć nowy profil, bo może to uszkodzić obecny, a nawet uniemożliwić korzystanie z zainstalowanej równolegle wersji stabilnej.

Dla mnie różnica jest widoczna gołym okiem, co jednocześnie napawa mnie ogromnym optymizmem. Mozilla nie złożyła broni, a jej kontratak zapowiada się wspaniale.