Wykorzystanie zasobów przez przeglądarki internetowe

Masz procesor wyposażony w 2 rdzenie? Mam złą informację – większość przeglądarek będzie mogła wykorzystać zaledwie połowę jego możliwości. Oznacza to, że gdy otworzysz dużo kart z rozbudowanymi aplikacjami internetowymi, a jeden z rdzeni nie będzie dawał sobie rady z obliczeniami, drugi nie będzie w stanie mu pomóc.
Wykorzystanie zasobów przez przeglądarki internetowe

Podobna sytuacja dotyczy kart graficznych. Są to układy dysponujące olbrzymią mocą obliczeniową, więc warto, aby wzięły się do roboty, kiedy użycie CPU sięgnie 100%. Jak pokazały nasze testy, na pięć przeglądarek, z GPU korzystają tylko trzy. Ale tylko dwie z nich robią to prawidłowo.

Ostatnia sprawa – użycie pamięci RAM. Proste witryny internetowe to już przweszłość. Teraz w przeglądarkach budowane są klienty poczty, aplikacje społecznościowe z komunikatorami, programy graficzne (Pixlr.com), pakiety biurowe (Live.com, Google Docs, Zoho.com), czy też edytory audio (Aviary.com). Oznacza to, że przeglądarka musi dobrze radzić sobie z zarządzaniem pamięcią, bo staje się furtką do uruchamiania coraz poważniejszych aplikacji.

Zapodajesz Internetem z przeglądarką Microsoftu

Czy nowa wersja Firefoksa będzie tak szybka jak Chrome? Czy IE9 zatrze złe wspomnienia po poprzedniej edycji? Jak na ich tle prezentuje się Opera i czy używanie Safari ma jakikolwiek sens? Zobacz najnowsze porównanie możliwości przeglądarek.

Poniżej widzicie konfigurację komputera, na którym były przeprowadzane testy. Nie jest to najnowszy sprzęt, ale wciąż ma znakomite parametry jak na pracę biurową/internet.

  • Intel Core 2 Duo E8400 (2 rdzenie, 3 GHz)
  • ATI Radeon HD 3470 (256 MB DDR2)
  • 4096 MB DDR2 (Dual Channel)
  • Windows 7 Professional (64 bit)
  • ATI Catalyst 11.2

Wykorzystanie pamięci RAM

Pierwszy z testów polegał na zbadaniu wykorzystania pamięci RAM przez przeglądarkę. Oczywiście im mniej, tym lepiej. W tym celu przeprowadziłem trzy testy. Przeglądarka z uruchomioną jedną kartą, z dziesięcioma kartami oraz z jedną kartą, na której był uruchomiony Kraken Benchmark.

Po uruchomieniu jednej karty wykorzystanie pamięci RAM było stosunkowo niewielkie. Najoszczędniejszą przeglądarką okazał się Google Chrome, nieco słabiej wypadło Safari oraz Internet Explorer 9. Zauważalnie gorsze wyniki osiągnęły Firefox 4.0 oraz Opera 11.10.

Z rzadka używam tylko jednej otwartej karty, postanowiłem sprawdzić co będzie jak zwiększymy ich liczbę do 10.

Sytuacja wyrównała się. Od 192 MB w przypadku przeglądarki Firefox 4.0 (która zużyła najwięcej pamięci w teście z jedną kartą), po 224 MB dla aplikacji Microsoftu. To zaledwie 32 MB różnicy – niewiele. Co ciekawe nieobecny na wykresie Firefox 3.6 potrzebował tylko 96 MB.

Z racji, że powyższy test dotyczył dosyć statycznych stron internetowych, przejdźmy do bardziej ambitnego pomiaru. W tym celu uruchomiłem Kraken Benchmark mierzący wydajność silnika JavaScript i sprawdziłem maksymalne wykorzystanie pamięci RAM podczas jego przebiegu. Wyniki są dosyć zaskakujące.

Miejsce pierwsze – Google Chrome. Przeglądarka najlepiej poradziła sobie z zarządzaniem zasobami, a przy okazji wygenerowała najlepszy wynik spośród wszystkich aplikacji. Najgorzej prezentuje się Firefox 4.0, który niemal przez cały test zużywał od 200 do 300 MB, a pod jego koniec osiągnął 339 MB. Dosyć dziwnie zachowywał się Internet Explorer 9, który przez większość czasu potrzebował od 100 do 200 MB, ale kilka razy zajął niemal 300 MB.

Wykorzystanie procesora – mniej nie znaczy lepiej

Pierwszy z testów procesora polegał na uruchomieniu jednej karty z testem JavaScript. Dzięki temu można było sprawdzić, czy przeglądarki potrafią wykorzystać możliwości komputera (oba rdzenie).

Nie mogą. Wszystkie przeglądarki za wyjątkiem Internet Explorer 9 dawały radę zagospodarować tylko jeden rdzeń do obsłużenia jednej karty. Co to oznacza? Nawet gdy posiadasz procesor 6-rdzeniowy, a trafisz na bardzo wymagającą stronę, nie wykorzystasz mocy swojego procesora. Przeglądarka zacznie reagować irytująco wolno, podczas gdy większość wolnych zasobów będzie leżała odłogiem.

Kolejny z testów procesora polegał na uruchomieniu benchmarku GUIMark2 składającego się z trzech niezależnych testów: Vector Charting Test, Bitmap Gaming Test oraz Text Column Test. Każdy z nich został otwarty w osobnej karcie, lecz tylko był aktywny – Bitmap Gaming Test. Na początek pomiar wydajności (a nie wykorzystania zasobów).

Kolor jaśniejszy na poniższym wykresie oznacza trzy otwarte karty (na każdej aktywny test). Kolor ciemniejszy – tylko Bitmap Gaming Test. Wyniki są ciekawe.

Internet Explorer 9 niezależnie od liczby otwartych kart wynik oscylował w okolicy 60 fps. Również Google Chrome zaprezentował się całkiem nieźle, choć widać że dodatkowe karty minimalnie spowalniały przeglądarkę. Firefox 4.0 okazał się bardzo wrażliwy na liczbę otwartych kart, podobnie jak Opera oraz Safari. Trzeba zaznaczyć, że dwie ostatnie przeglądarki jeszcze nie potrafią wspomagać się mocą karty graficznej.

Przejdźmy do wykorzystania możliwości dwurdzeniowego CPU. Jedna uwaga – więcej nie oznacza lepiej, ale 50% obciążenia to równie beznadziejny wynik, gdyż oznacza wykorzystanie tylko jednego z dwóch rdzeni.

Jedynie Internet Explorer zagospodarował całą moc drzemiącą w procesorze, ale czy to dobrze? Niezupełnie, bowiem karty działające w tle intensywnie zjadały zasoby, a nie powinny – w końcu ich nie aktualnie nie przeglądamy. Tutaj należą się brawa dla programistów Google Chrome, którzy sprawili, że gdy przełączymy się na kolejną kartę, poprzednia nie zużywa zasobów komputera. A co z Operą, Firefoksem i Safari? Delikatnie mówiąc – słabo. Te przeglądarki potrafią wykorzystać tylko jeden z rdzeni procesora.

Moc karty graficznej

Moc karty graficznej przeważnie jest niewykorzystana i to nawet gdy procesor nie wyrabia się z przeliczaniem danych. Jest to nieco nierozsądne – bowiem cóż nam po możliwościach komputera, jeżeli wszystko działa wolno, bo oprogramowanie nie potrafi dobrze wykorzystać dostępnych zasobów? Spójrzcie zatem jak przeglądarki wykorzystują moc GPU.

Podobnie jak w poprzednim porównaniu, uruchomione zostały trzy karty. Na każdej z nich działał jeden z testów GUIMark2. Jak się okazało taka metoda doskonale uwidacznia niedociągnięcia programistów.

Google Chrome bez większego problemu zaprzągł do pracy układ graficzny. Podobnie jak Internet Explorer. Firefox 4.0 zawiódł. Pomimo obsługi GPU, jego obciążenie skakało od 14 do 100%, co przekładało się na bardzo “szarpiącą” animację. Przypominam, że w tle, prócz aktywnej karty działały jeszcze dwa testy. Po ich wyłączeniu Firefox przyspieszył (co widać na wykresie GUIMark2 – wydajność). Wygląda na to, że przeglądarka Mozilli nie do końca radzi sobie z wieloma kartami.

Opera 11.10 jak i Safari 5.0.4 praktycznie nie obciążały GPU, gdyż jeszcze nie mają zaimplementowanej obsługi GPU. Wiemy, że ta pojawi się w Operze oznaczonej numerem 11.50, zaś w przypadku aplikacji Apple jak zwykle jeszcze nic nie jest jasne.

Szybkość uruchamiania

Przeglądarka jest zamknięta i jeszcze jej nie uruchamiałeś od startu systemu. Twój znajomy wysyła ci link na gg, klikasz i… rozpoczyna się czekanie. Tzw. zimny start trwa zazwyczaj nieprzyzwoicie długo, jednak nie dotyczy to wszystkich przeglądarek.

Wynik Opery nie ma sobie równych, aczkolwiek wg. moich pomiarów Opera 11.01 uruchamiała się jeszcze szybciej – poniżej 2 sekund. Do Chrome oraz IE również nie można mieć uwag. Zimny start nie jest mocną stroną Firefoksa oraz Safari. Kolejne uruchomienia przeglądarki po jej uprzednim zamknięciu odbywają się bardzo szybko – wszystkie aplikacje startowały momentalnie.

Którą przeglądarkę wybrać?

Poniższe zestawienie przeglądarek dotyczy tylko i wyłącznie wykorzystania zasobów systemowych: pamięci RAM, procesora oraz karty graficznej. Pozostałe cechy przeglądarek, jak interfejs, bezpieczeństwo, czy funkcjonalność nie były brane pod uwagę.

1. miejsce – Google Chrome 11

Przykra informacja dla fanbojów pozostałych przeglądarek, ale to Google Chrome najlepiej obchodzi się z wykorzystaniem zasobów komputera. Po pierwsze – zużywa najmniej pamięci RAM, zwłaszcza gdy mamy otwarte wiele kart. Po drugie, skutecznie wspomaga się kartą graficzną. Po trzecie – nie wykorzystuje zasobów komputera na otwarte karty, które są aktualnie niewidoczne dla użytkownika.

2. miejsce – Microsoft Internet Explorer 9

Tak wysoka pozycja to zasługa wykorzystywania dostępnych zasobów. IE dobrze wykorzystuje moc drzemiącą w CPU jak i GPU. Minusem jest to, że niepotrzebnie angażuje moc komputera na karty, które nie są aktualnie niewidoczne dla użytkownika. Programiści muszą popracować także nad wykorzystaniem pamięci RAM. Jest nieźle, ale może być lepiej.

3. miejsce – Mozilla Firefox 4.0.1

Wykorzystanie mocy GPU to znakomita funkcja, która powoduje znaczny wzrost płynności wyświetlanych stron. Niestety przeglądarka potrafi zagospodarować tylko jeden z rdzeniu procesora. Kolejny kłopot to wyraźnie wolniejsze działanie aplikacji, gdy otworzymy kilka kart silnie obciążających CPU/GPU. Również użycie pamięci RAM nie jest najlepszym wynikiem.

4. miejsce – Opera 11.10

Opera jest szybka, ale korzysta tylko z jednego rdzenia CPU. Obsługa GPU została zupełnie pominięta, ale ma się pojawić w jednej z kolejnych wersji. Wyższe użycie pamięci RAM wybaczysz, gdy na własne oczy przekonasz jak ta przeglądarka potrafi szybko przełączać karty, gdy jest ich dużo. Nie bez znaczenia jest też momentalny start aplikacji.

5. miejsce – Safari 5.0.4

Jednym słowem – kaszan. Korzysta tylko z jednego rdzenia procesora i podobnie jak Opera – nie potrafi obsłużyć karty graficznej. Jedyną jej zaletą jest niewielkie zapotrzebowanie na pamięć RAM. Jednak cóż po tym, skoro aplikacja działa wolno, a interfejs sprawia wrażenie ociężałego. I mówiłem to ja – miłośnik komputerów Apple.