Blog (30)
Komentarze (4.7k)
Recenzje (0)
@Silny_OgorPorównanie wydajności popularnych przeglądarek internetowych II

Porównanie wydajności popularnych przeglądarek internetowych II

22.11.2019 09:30, aktualizacja: 25.11.2019 10:43
689432

Rezultaty benchmarków, które przedstawiłem w poprzednim wpisie, mówią o ogólnej wydajności przeglądarek ale słowem nie mówią o tym, czy używanie przeglądarki jest przyjemne, jak szybko renderują się strony, czy tego, ile zasobów używa przeglądarka podczas normalnego używania. Pora to sprawdzić i rozwiać wątpliwości.

Platforma testowa

  • Komputer: Dell XPS 15 9560
  • CPU: QuadCore Intel Core i7-7700HQ
  • RAM: 16GB (DDR4 SDRAM)
  • GPU: Intel HD Graphics 630 (26.20.100.7323) / GeForce GTX 1050 (431.86)
  • Windows 10 (1903)
Wydajność XPSa w Cinebench R15
Wydajność XPSa w Cinebench R15
Wydajność XPSa w Cinebench R20
Wydajność XPSa w Cinebench R20

Warunki testu

Przed przystąpieniem do właściwego testu, przeprowadziłem monitoring ruchu sieciowego, który towarzyszył pierwszemu uruchomieniu każdej z przeglądarek. Myślę, że zgromadzone dane stanowią nie lada ciekawostkę, szczególnie w kontekście ochrony prywatności. Ruch został przechwycony i zapisany za pomocą Microsoft Network Monitor, link do wszystkich plików znajdziecie na końcu artykułu. Możecie je analizować na własną rękę, np. za pomocą programu Wireshark. Pliki zawierają tylko dane z protokołu TCP (rzeczy typu skanowanie za pomocą SSDP, uznałem za nieistotne).

Podczas trwania testu przeglądarka i SysGuage były jedynymi uruchomionymi programami (nie licząc usług systemowych). Po zainstalowaniu i uruchomieniu przeglądarki zaimportowałem zakładki z pliku bookmarks.html. Plik zawiera 50 adresów wybranych na podstawie listy najpopularniejszych w Polsce stron. Do listy dodałem kilka stron, których nie było w zestawieniu, a które sam często odwiedzam.

Po zaimportowaniu wszystkie strony otworzyłem w osobnych kartach (w tym samym czasie). Przechodziłem kolejno do każdej, a jeśli strona blokowała dostęp komunikatem o ciasteczkach, wyrażałem na nie zgodę. To samo robiłem w przypadku pytań o wysyłanie powiadomień. Każdą stronę przewijałem do końca, zatrzymując się po drodze i dając czas przeglądarce na wczytanie wszystkich obrazków i skryptów, które były pobierane dynamicznie (w trakcie przewijania). Strony typu „infinity scroll” przewijałem przez max. 20 sekund. Strony wymienione poniżej, testowałem dodatkowo w następujący sposób:

  • wikipedia.org - szukałem „atari”,
  • olx.pl – szukałem „fiat 126p”,
  • ceneo.pl – szukałem „samsung galaxy s10”,
  • filmweb.pl – szukałem „first blood”,
  • mbank.pl – zalogowałem się do serwisu,
  • otodom.pl – szukałem „sopot”,
  • booking.com – szukałem „barcelona”,
  • reddit.com – zalogowałem się do serwisu,
  • sprzedajemy.pl - szukałem „samsung galaxy s10”,
  • linkedin.com – zalogowałem się do serwisu,
  • allegro.pl – zalogowałem się do serwisu i szukałem „samsung galaxy s10”,
  • ebay.co.uk – zalogowałem się do serwisu i szukałem „samsung galaxy s10”,
  • amazon.co.uk – zalogowałem się do serwisu i szukałem „samsung galaxy s10”,
  • imdb.com – szukałem „first blood”,
  • mediaexpert.pl - szukałem „samsung galaxy s10”,
  • euro.com pl - szukałem „samsung galaxy s10”,
  • dobreprogramy.pl - zalogowałem się do serwisu.

Po przejrzeniu wszystkich stron zamknąłem wszystkie zakładki i uruchomiłem ponownie przeglądarkę.

YouTube

Dodatkowym testem było odtworzenie filmu dostępnego na YouTube pod adresem: https://www.youtube.com/watch?v=BKiX05avSkQ Film odtwarzałem na pełnym ekranie w maksymalnej rozdzielczości (4k). Użycie sprzętu zostało zarejestrowane i ujęte w osobnych raportach.

Wyniki testu

Zanim przejdziemy do prezentacji i omówienia wyników, napiszę tylko, że wszystkie przeglądarki odtwarzały testowy film wzorowo, żadna nie gubiła klatek. To wspólna cecha wszystkich "zawodniczek".

Brave

Brave - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Brave - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Brave - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Brave - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Brave
Ruch sieciowy podczas pierwszego uruchomienia Brave

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Brave jest dosyć duży, ale nie stanowi wyjątku na tle pozostałych przeglądarek. Plik cap z przechwyconymi połączeniami ma 17.2 MB (18,140,721 bajtów).

Brave wymieniał dane z czterema (4) różnymi hostami. Cały ruch jest szyfrowany. Według whois żaden z wymienionych adresów nie należy do Google.

Podczas przeglądania stron Brave nie sprawiał żadnych problemów, ale moje subiektywne odczucie jest takie, że wczytywanie stron odbywało się nieco wolniej niż w przypadku Google Chrome, a przewijanie stron nie zawsze było super płynne i wolne od "przycięć". Mimo tego, jeśli otwierasz dużo zakładek i szukasz nowej przeglądarki, to Brave jest jednym z najlepszych kandydatów.

Edge

Edge - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Edge - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Edge - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Edge - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Edge
Ruch sieciowy podczas pierwszego uruchomienia Edge

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Edge jest mały. Plik cap z przechwyconymi połączeniami ma 459 KB (470,238 bajtów).

Edge wymieniał dane z dziesięcioma (10) różnymi hostami. Cały ruch jest szyfrowany. Według whois żaden z wymienionych adresów nie należy do Google.

Sądząc po zarejestrowanym użyciu sprzętu, przed programistami MS zostało jeszcze trochę pracy nad optymalizacją. Pomimo tego, podczas przeglądania stron Edge nie sprawiał najmniejszych problemów i mam wrażenie, że płynnością działania wyprzedza nieco konkurencję.

Firefox

Firefox - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Firefox - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Firefox - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Firefox - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Firefoksa
Ruch sieciowy podczas pierwszego uruchomienia Firefoksa

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Firefoksa jest duży. Plik cap z przechwyconymi połączeniami ma 13.2 MB (13,915,519 bajtów).

Firefox wymieniał dane z dwudziestoma sześcioma (26) różnymi adresami IP. Nie wszystkie połączenia były szyfrowane. Według whois niektóre z wymienionych adresów należą do Google.

Firefox nie radzi sobie dobrze z dużą liczbą otwartych zakładek. Strony wczytują się wolniej niż w innych przeglądarkach. Podczas przewijania stron Firefox potrzebował relatywnie dużo czasu na wczytanie dynamicznie ładowanych obrazków. Żadna z przeglądarek nie robiła tego natychmiast, ale w przypadku przeglądarki Mozilli dało się odczuć wyraźne opóźnienie. Przewijanie nie było tak płynne jak na przeglądarkach opartych na Chromium. Miałem wrażenie, że 50 zakładek przerosło Firefoksa, a przeglądarka wyraźnie zaczynała się "dusić".

Patrząc na użycie pamięci i procesora można powiedzieć, że Firefox oszczędnie używa mocy i pamięci. Jednak moim zdaniem zwyczajnie nie potrafi wykorzystywać dostępnych zasobów. Działał jako jedyna wymagająca aplikacja w systemie, a prawie 10 GB RAM, które mogło być użyte, leżało odłogiem. Wygląda na to, że Firefox robi wszystko, żeby czasem nie przekroczyć granicy sześciu gigabajtów. Trudno o sensowne uzasadnienie dla marnowania dostępnych zasobów kosztem komfortu przeglądania.

Google Chrome

Google Chrome - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Google Chrome - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Google Chrome - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Google Chrome - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Google Chrome
Ruch sieciowy podczas pierwszego uruchomienia Google Chrome

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Chrome jest duży. Plik cap z przechwyconymi połączeniami ma 12.1 MB (12,743,196 bajtów)

Chrome "rozmawiał" z dwunastoma (12) różnymi hostami. Większość połączeń była szyfrowana, ale nie wszystkie. Wygląda na to, że te nieszyfrowane dotyczyły wyszukiwarki Google.

Gdyby nie uzasadnione obawy dotyczące zachowania prywatności powiedziałbym, że Chrome spisało się doskonale. Strony ładowały się szybko, elementy doczytujące się w trakcie przeglądania pojawiały prawie natychmiast. Pięćdziesiąt zakładek nie robi na Chrome żadnego wrażenia.

Iridium

Iridium - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Iridium - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Iridium - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Iridium - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Iridium.
Ruch sieciowy podczas pierwszego uruchomienia Iridium.

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Iridium jest minimalny. Plik cap z przechwyconymi połączeniami to tylko 50.6 KB (51,877 bajtów) danych.

Iridium nawiązuje połączenie z trzema (3) różnymi hostami. Dwa adresy IP należą do Google.

Iridium sprawuje się bardzo dobrze. W trakcie testu przeglądarka używała o prawie 3 GB pamięci mnie niż Google Chrome, ale nie pracował wolniej niż Chrome. Jeśli zachowanie prywatności jest dla ciebie istotną sprawą, to Iridium z pewnością jest warte rozważenia.

Opera

Opera - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Opera - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Opera - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Opera - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Opery.
Ruch sieciowy podczas pierwszego uruchomienia Opery.

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Opery jest mały i zmieściłby się na dyskietce 3.5'' ;‑). Plik cap z przechwyconymi połączeniami to 1.33 MB (1,401,794 bajtów) danych.

Liczba hostów uczestniczących w wymianie danych to aż dwadzieścia trzy (23). Wszystkie połączenia były szyfrowane, a niektóre adresy należą do Google.

Opera dobrze sobie poradziła z dużą liczbą otwartych kart, ale czasami dawało się odczuć pewne spowolnienie. Przez większość czasu przewijanie było płynne, ale kilka stron miało problem z pobraniem elementów ładowanych dynamicznie, co prawdopodobnie było spowodowane wbudowanym blokowanie reklam.

Opera GX

Opera GX - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Opera GX - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Opera GX - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Opera GX - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Opery GX
Ruch sieciowy podczas pierwszego uruchomienia Opery GX

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Opery GX jest średni ale 3,5 raza większy niż zwykłej Opery. Plik cap z przechwyconymi połączeniami to 4.66 MB (4,888,772 bajtów) danych.

Liczba hostów uczestniczących w wymianie danych to aż trzydzieści sześć (36)! Nie wszystkie połączenia były szyfrowane, a niektóre adresy należą do Google.

Opera GX pozwala na ustawienie limitu użycia RAM i CPU, ale testy przeprowadziłem na domyślnych ustawieniach. Kilka programów potrzebowało mniej mocy CPU i pamięci na ukończenie testu.

Podobnie jak zwykła Opera, GX dobrze poradziła sobie z dużą liczbą otwartych kart, ale i tu czasami dawało się odczuć delikatne spowolnienie. Przez większość czasu przewijanie było płynne, ale kilka stron miało problem z pobraniem elementów ładowanych dynamicznie, co prawdopodobnie było spowodowane wbudowanym blokowaniem reklam.

Ungoogled Chromium

Ungoogled Chromium - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Ungoogled Chromium - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Ungoogled Chromium - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ungoogled Chromium - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Ungoogled Chromium.
Ruch sieciowy podczas pierwszego uruchomienia Ungoogled Chromium.

Mistrz! Ungoogled Chromium nie wysłał ani nie odebrał nawet jednego bajta. Wygląda na to, że Ungoogled Chromium jest naprawdę ungoogled, a programiści stojący za projektem traktują sprawę prywatności bardzo poważnie.

Zanim rzucicie się do robienia migracji na Ungoogled Chromium, radzę poczytać, z czym się wiąże używanie tej przeglądarki, ilu programistów stoi za tym projektem i jak wygląda tempo prac.

Pięćdziesiąt otwartych w tym samym czasie stron nie zrobiło na Ungoogled Chromium żadnego wrażenia (podobnie jak na zdecydowanej większości przeglądarek). Przeglądarka działała prawie tak sprawnie i płynnie jak zwykłe Chrome, ale potrzebowała do tego znacznie mniej pamięci i mocy CPU.

Vivaldi

Vivaldi - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Vivaldi - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Vivaldi - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Vivaldi - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Vivaldiego.
Ruch sieciowy podczas pierwszego uruchomienia Vivaldiego.

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Vivaldiego jest duży. Plik cap z przechwyconymi połączeniami to 9.95 MB (10,439,801 bajtów) danych.

Liczba hostów uczestniczących w wymianie danych to aż dwadzieścia jeden (21). Nie wszystkie połączenia były szyfrowane, a niektóre adresy należą do Google. Na blogu projektu jest wpis poświęcony wysyłaniu i pobieraniu danych przez Vivaldiego oraz ochrony prywatności który warto przeczytać.

Vivaldi, podobnie jak reszta przeglądarek opartych na Chromium bardzo dobrze poradził sobie z testem. Nie zauważyłem żadnych problemów, ale średnie użycie CPU było stosunkowo wysokie. Samo przeglądanie stron było przyjemne, dynamiczne elementy ładowały się szybko, a przewijanie stron było płynne.

Waterfox

Waterfox - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Waterfox - użycie CPU i pamięci RAM podczas ładowania i przeglądania 50 stron.
Waterfox - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Waterfox - użycie CPU i pamięci RAM podczas odtwarzania filmu na YT.
Ruch sieciowy podczas pierwszego uruchomienia Waterfoksa.
Ruch sieciowy podczas pierwszego uruchomienia Waterfoksa.

Ruch sieciowy towarzyszący pierwszemu uruchomieniu Waterfoksa jest mały. Plik cap z przechwyconymi połączeniami to 1.96 MB (2,065,359 bajtów) danych.

W wymianie danych uczestniczyło dwanaście (12) hostów. Nie wszystkie połączenia były szyfrowane, a niektóre adresy należą do Google.

Wszystko co napisałem o Firefoksie można odnieść do Waterfoksa. 50 otwartych zakładek to dla tej przeglądarki nie lada wyzwanie, przeglądanie było mało przyjemne, Waterfox miał problemy z płynnym przewijaniem i ładowaniem dynamicznych elementów stron. Marnowanie zasobów to wspólna cecha Firefoksa i Waterfoksa. Dodatkowym irytującym problemem jest fakt, że przeglądarka domyślnie ignoruje aktywny profil ICC. Na gamucie szerszym niż sRGB wszystkie obrazki, zdjęcia czy elementy stron ostylowane z uwzględnieniem koloru były okropnie przesycone.

Podsumowanie

Zobaczmy jak podczas testu polegającego na przeglądaniu pięćdziesięciu stron otwartych w tym samym czasie wyglądało średnie zapotrzebowanie na moc obliczeniową i pamięć RAM.

CPU

Średnie zapotrzebowanie na moc obliczeniową.
Średnie zapotrzebowanie na moc obliczeniową.

Bezspornym zwycięzcą w kategorii średnie użyce CPU jest Brave. Biorąc pod uwagę płynność działania i brak problemów podczas otwierania wielu stron, 8.80% to doskonały wynik. Zwróćcie uwagę na fakt, że średnie zapotrzebowanie na pamięć również było bardzo niskie. To zaskakujące w kontekście świetnej responsywności i tego jak przyjemne i płynne jest przeglądanie stron z użyciem Brave. Ostatnie miejsce przypadło Operze, która średno potrzebowała ponad trzy razy więcej mocy. Oczywiście nie jest to dyskwalifikujące bo mogłoby się okazać, że w warunkach innego ogólnego obciążenia systemu Opera działałaby inaczej.

RAM

Średnie zapotrzebowanie na pamięć RAM.
Średnie zapotrzebowanie na pamięć RAM.

W tej kategorii zwyciężył Firefox, ale trudno sie z tego cieszyć patrząc na efekty niskiego zapotrzebowania na pamięć. Możliwe, że na maszynach z małą ilością pamięci Firefox okazałby się niezastąpiony, ale z drugiej strony trudno sobie wyobrazić sytuację, w której ktoś otwiera tyle stron na słabym komputerze. Z przeglądarek opartych na Chromium to Brave wypadł najlepiej. Na ostatnim miejscu Vivaldi, ale jeszcze raz podkreślam, że w tym przypadku to raczej efektywne wykorzystywanie dostępnej pamięci dobrze świadczy o przeglądarce. Vivaldi użył jej tyle, ile potrzebował do zapewnienia przyjemnego i bezproblemowego przeglądania. Brave osiągnął to samo przy znacznie mniejszym użyciu RAM.

Szpiegujo - kilka słów o wysyłaniu danych

Wszystkie przeglądarki (oprócz Ungoogled Chromium) wysyłają i odbierają dane pomiędzy różnymi hostami. Jest to zjawiskiem alarmującym i przywołującym pytania o zachowanie prywatności. Co oni tam wysyłają? Do kogo? Kto ogląda moje nudesy?

Analiza ruchu i dokumentacji wskazuje na kilka typowych sytuacji. Duża część przeglądarek korzysta z safe browsing. Lista hostów jest utrzymywana, aktualizowana i hostowana przez Google.

Przeważająca część adresów, z którymi komunikują się przeglądarki, należy do różnych dostawców chmur. W głównej jest to AWS i należący do nich Cloudfront, który jest geograficznie rozproszonym systemem CDN. Jeśli przeglądarka może niezależnie aktualizować pomniejsze komponenty lub pobierać różne listy, CDN jest sensownym rozwiązaniem przyśpieszającym cały proces.

Lokalizacje Amazon Cloudfront
Lokalizacje Amazon Cloudfront

Przeglądarki oparte na Chromium oferują integrację z kontem Google, co również pododuje pewien ruch, nawet jeśli nie jesteście zalogowani. Google świadczy szereg usług, z których mogą korzystać inni producenci przeglądarek, włączając w to GCP.

Adresy, z którymi łączą się przeglądarki, mogą być różne w zależności od kilku czynników: języka, strefy czasowej / położenia geograficznego czy systemu operacyjnego. Bardzo możliwe, że w zależności od lokalizacji przeglądarki wysyłają i odbierają inne dane. Jakie? Praktycznie cały ruch jest szyfrowany, więc tylko producent może odpowiedzieć na to pytanie. Na szczęście w przypadku oprogramowania OS, uzyskanie takich informacji nie stanowi problemu.

Najlepsza przeglądarka internetowa

Któraś z nich zapewne jest najlepsza. Do tej pory, przez wiele lat używałem Firefoksa, ale po intensywnym testowaniu przeglądarek opartych na Chromium, nie mam już ochoty do niego wracać. Jest powolny i przestarzały, nie blokuje reklam i nie potrafi wykorzystywać dostępnych zasobów. Ochrona prywatności, o której tak często mówi Mozilla to głównie marketing, a znacznie lepsze efekty można uzyskać na każdej innej przeglądarce za pomocą kilku rozszerzeń i odpowiednich ustawień.

Z Firefoksa przesiadłem się na duet Brave / Vivaldi. Nie zamierzam używać dwóch preglądarek, ale jeszcze nie zdecydowałem, z którą zostanę na dłużej. Brave nieźle poradził sobie w teście opartym na benchmarkach, ale to szybkość i sprawność, z jaką działa podczas normalnego używania są dla mnie najważniejsze. Program Brave Rewards kompletnie mnie nie interesuje, więc wyłączyłem tę funkcjonalność.

Największą bolączką Brave jest kiepski interfejs użytkownika. Tu Vivaldi jest zdecydowanym liderem i podejrzewam, że to właśnie on zastąpi Firefoksa. Vivaldi nie jest doskonały (speed dial wtf?), ale plusy ujemne nie przesłaniają plusów dodatnich ;‑)

Pliki do pobrania

Archiwum zawiera raporty wygenerowane przez SysGauge, pliki z przechwyconym ruchem na TCP i arkusz kalkulacyjny zawierający tabele z wynikami. Pliki cap można otwierać za pomocą Microsoft Network Monitor, ale do analizy pakietów i automatycznego tłumaczenia adresów polecam Wireshark.

192.168.1.10 to mój adres w sieci lokalnej i nie był uwzględniany podczas liczenia hostów uczestniczących w ruchu.

Pobierz archiwum z danymi.

Wybrane dla Ciebie
Komentarze (199)