Test przeglądarek internetowych na Androida (Styczeń 2014)
Smartfony - nasze małe okienka na świat, ale wielkie możliwości w sieci. Przeglądarka internetowa pozwala nam dostać się do prawie każdego zakątka "globalnej wioski" i dostęp do wielu informacji i usług. Aby szybko i wygodnie dotrzeć do ulubionych miejsc, przyda się przeglądarka, która sprawnie wyświetli strony i przy okazji nie zatka naszego sprzętu. Wraz ze wzrostem wydajności urządzeń mobilnych, możemy wykorzystywać coraz bardziej zaawansowane możliwości współczesnego internetu. Nowe technologie webowe wymagają odpowiedniej mocy obliczeniowej, ale dopiero odpowiednio zoptymalizowane oprogramowanie pozwoli wykorzystać ukryty potencjał. Na rynku jest wiele przeglądarek mobilnych, które wychwalane są przez ich producentów - tylko komu wierzyć?
Wraz z funkcjonalnością i przyjaznym interfejsem oczekujemy odpowiedniej szybkości, rozsądnego wykorzystania zasobów systemowych oraz zgodności z webowymi standardami. Pytanie jakie sobie w tym momencie stawiamy to: która przeglądarka będzie najlepsza? Być może pomocny będzie test najnowszych przeglądarek na platformę Android - zapraszam do lektury.
Do bloków startowych zostało ustawionych 12 następujących aplikacji:
- Boat Browser 7.1
- Chrome 31
- Dolphin 10.2.2
- Firefox 26
- Maxthon 4.1.4
- Next Browser 1.15
- Ninesky 2.5.1
- Opera 18
- Opera Classic 12.1.6
- Puffin Free 3.1.1
- Skyfire 5.0.1
- UC Browser 9.4
1. Platforma testowa
- Smartfon: Motorola Razr Maxx (XT910)
- Procesor: TI OMAP 4430 ARM Cortex-A9 1,2GHz (2 rdzenie)
- Układ graficzny: PowerVR SGX 540
- RAM: 1 GB (840MB dla aplikacji)
- Rozdzielczość ekranu: 540x960
- System: Android 4.1.2 (oficjalny retail FR)
- Dostęp do internetu: WiFi (uzyskana prędkość na telefonie:17,2Mbps/5,7Mbps/22ms)
Podczas przeprowadzania testów, został włączony tryb samolotowy (wyłączenie modułu GSM). Zostały wyłączone opcje synchronizacji oraz jasność ekranu ustawiona na stały poziom. Czas wygaszenia ekranu ustawiono na 10 minut. Testy były przeprowadzane w układzie pionowym. Do pomiaru pamięci RAM został użyty program Resource Monitor Mini oraz aplikacja systemowa "Aplikacje - PRACUJĄ".]
2. Procedury testowe
Zostało przeprowadzonych 15 poniższych testów:
- 1. HTML5 - strona na której podawana jest zgodność przeglądarki z poszczególnymi elementami specyfikacji języka HTML5. Wynik przedstawia liczbę punktów z maksymalną ilością równą 555. Im wyższy wynik tym lepiej.
- 2. Octane 2.0 - test wydajności silnika Java Script. Uruchamia zestaw testów reprezentujących współczesne, złożone aplikacje internetowe. Celem testu jest oszacowanie wydajności kodu JS w rzeczywistych aplikacjach. Wynik stanowi odpowiednia liczba punktów - im więcej, tym lepiej.
- 3. Wirple BMark - test wydajności w aplikacjach 3D pod HTML5, składa się z 4 części. Pierwsze dwie oparte są o Canvas - element języka HTML5, który umożliwia dynamiczne renderowania kształtów i obrazów na potrzeby dwu- i trójwymiarowych animacji czy gier. Kolejne dwie wykonują test w oparciu o WebGL - rozszerzenie języka JavaScript dodające API do obsługi grafiki 3D w przeglądarkach. Im więcej punktów uzyskamy, tym lepiej.
- 4. Blobs - przykładowy efekt z użyciem WebGL. Test został przeprowadzony dla domyślnych ustawień: 10/24^3. Wynik to liczba fps (klatek na sekundę) jaka została osiągnięta - więcej=lepiej.
- 5. Canvas Performance Benchmark - w tym teście sprawdzana jest wydajność podczas rysowania i przekształcania grafiki 2D za pomocą Canvas. Wynik końcowy to liczba punktów. Został także wykonany pomiar średniej liczby fps dla testu DEMO.
- 6. Peacekeeper - kompleksowy test przygotowany przez firmę Futuremark, która jest dobrze znana z produkcji dem testowych. Ten zestaw sprawdzi wydajność przeglądarki w typowych sytuacjach jakie mogą nas spotkać podczas wędrówki po sieci. Sprawdzana jest tutaj wydajność kodu JS, wyświetlania plików wideo, grafiki 2D i 3D, operacji na tekście i danych. Jako wynik otrzymujemy odpowiednią punktację.
- 7. 1 karta wolny RAM - w tym teście została otwarta strona główna dobreprogramy.pl w wersji desktopowej. Następnie została odczytana wolna pamięć RAM jaka pozostała w systemie.
- 8. 7 kart wokny RAM - analogicznie jak powyżej, tylko zostało otwartych 7 kart. Odpowiednio były to zakładki: NEWSY, BLOG, PROGRAMY, LAB, GRY, FORUM, POMOC. Każda zakładka była przeglądnięta aby upewnić się, że strona została załadowana i wyświetlona.
- 9. Pamięć podręczna + dane aplikacji - tutaj zostały odczytane wartości pamięci, jaką przeglądarki zajęły na potrzeby tymczasowe.
- 10. Rozmiar aplikacji - objętość jaką zajęły programy po zainstalowaniu (sama aplikacja)
- 11. HTML5 tests - video - na tej stronie zostały osadzone przykładowe klipy wideo w 3 różnych formatach i kodekach: mp4 (v:h264/a:AAC), WebM (v:VP8/a:vorbis), Ogg (v:Theora/a:vorbis). Test polegał na sprawdzeniu czy klipy są poprawnie odtwarzane.
- 12. Zajętość RAM 1 karta - została otwarta strona główna DP w wersji stacjonarnej, a następnie została zmierzona zajętość pamięci RAM dla wszystkich procesów przeglądarki.
- 13. Zajętość RAM 7 kart - zostały otwarte karty z zakładkami: NEWSY, BLOG, PROGRAMY, LAB, GRY, FORUM, POMOC z serwisu DP w wersji stacjonarnej, a następnie została zmierzona zajętość pamięci RAM dla wszystkich procesów przeglądarki.
- 14. Czas wczytania strony on-line - ten test polegał na tym, że została otwarta strona Allegro.pl w wersji stacjonarnej, następnie została wpisana fraza "komputer" w wyszukiwarce. Następnie została wybrana opcja sortowania: Czas do końca: najwięcej. Następnie został zmierzony czas odświeżenia takiej strony.
- 15. Czas wczytania strony off-line - po wykonaniu testu powyżej, została wyświetlona strona z jedną z aukcji, a następnie został wyłączony dostęp do internetu. Kolejnym krokiem było wywołanie wcześniejszej strony, za pomocą przycisku wstecz. Został zmierzony czas wyświetlenia strony, która powinna załadować się z pamięci podręcznej.
Każda przeglądarka była testowana po świeżym uruchomieniu urządzenia. Procedury były uruchamiane jeden po drugim. Ostatnie cztery testy zostały uruchomione po restarcie systemu.
3. Wyniki testów
1. Na rozgrzewkę poszło sprawdzenie, jak przeglądarki deklarują swoją zgodność ze standardem HTML5. Najwyższy wynik 478 punktów otrzymała Opera 18, a tuż za nią znalazły się Chrome oraz Firefox. W kolejnych miejscach widzimy UC Browser oraz jeszcze za nią Opera Classic - mimo zakończenia swojego rozwoju nadal jest lepsza od pozostałej konkurencji, która ledwo przekroczyła połowę wyniku liderów.
2. Następny w kolejności był test Octane 2.0 - powinien on wskazać jak szybko będzie wykonywany kod Java Script. Najszybszy okazał się Chrome, dalej troszkę wolniejsza Opera i na trzecim miejscu Firefox. Pozostałe były około 32% wolniejsze od najlepszego wyniku. Testu nie zaliczyły 3 przeglądarki: UC, Opera Classic oraz Puffin.
3. Podczas kolejnego testu, sprawdzana była wydajność podczas przetwarzania grafiki 3D za pomocą API Canvas oraz WebGL w teście Wirple BMark. Dość sprawnie podołał temu zadaniu Firefox, który okazał się najszybszy. Zaraz za nim uplasował się Chrome oraz reszta zawodników. Opera Classic nie potrafiła uruchomić tego testu, a Skyfire oraz Puffin mimo przejścia procedury, nie wyświetliły ani jednego piksela - dlatego zostały zdyskwalifikowane. W części WebGL było najgorzej, ponieważ tylko 3 aplikacje ją uruchomiło. Najszybsza była Opera 18, bardzo blisko Firefox i na końcu UC Browser - jednak był on o 68% wolniejszy od pierwszego miejsca. Widać, że to API nie zostało zaimplementowane w silnikach pozostałych konkurentów.
4. Blobs - tutaj mamy przykład wykorzystania elementów HTML5 do wygenerowania efektu "bąbli" cieczy. Został tutaj użyty WebGL i jak można się domyśleć - efekt został wyświetlony na nielicznej grupie aplikacji. Najwięcej klatek animacji - 32fps - udało się wygenerować Operze 18, drugie miejsce przypadło Firefoxowi z 20fps. Kolejne miejsca przypadło Operze Classic oraz UC Browser. Pozostała część przeglądarek nie uruchomiła testu.
5. Canvas Performance Benchmark z kolei sprawdza wydajność rysowania i przetwarzania grafiki 2D przy pomocy Canvas. Tutaj role się odwracają i ostatni stają się pierwszymi. Najszybszy był Ninesky, a podobny wynik udaje się uzyskać pierwszej szóstce. Dopiero miejsce 7 - przypadające Operze 18 - przynosi troszkę niższą wydajność. Dość wysoko trzyma się Opera Classic, a końcówka tabeli należy do Firefoxa. Puffin mimo odbębnienia testu, znowu nie pokazał złamanego piksela. W drugiej części testu, zostało uruchomione DEMO i odczytana średnia ilość wyciągniętych klatek fps. Teraz pierwsze miejsca należą do Opery 18 z wynikiem prawie 17fps, dalej Chrome i Boat. Pozostali zawodnicy osiągnęli ok. 14,5fps. Wyjątkiem były UC oraz Opera Classic, które "nabiły" ok. 10fps. Najgorszy okazała się Firefox z wynikiem tylko 2,4 klatki na sekundę. Puffin jak poprzednio nic nie pokazał.
6. Kompleksowo "przetrzepał" Peacekeeper, który ostro wymęczył zawodników. Liderem okazała się Opera 18, a kroku dotrzymali jej Ninesky, Boat, Dolphin, Skyfire, Next oraz Chrome. Dopiero Maxthon i Firefox okazali się słabsi o ok. 27% od czołówki. Dalej Opera Classic i prawie o połową słabsza UC Browser, któremu zdarzyło się zamknąć podczas tego sprawdzianu. Puffin nie był w stanie przejść takich katuszy i skończył na dnie.
7‑8. Po tych wszystkich torturach, został przeprowadzony test wolnej pamięci RAM. Otwarto zatem stronę główną Dobrych Programów w wersji stacjonarnej i odczytano ile pozostało wolnej pamięci RAM. Najwięcej zostawił Chrome, a najmniej Maxthon, który dodatkowo dość mocno obciążał system i zajmował ponad 60% CPU. Następnie zostały otwarte 7 kart z kolejnymi podstronami portalu DP i dokonano pomiarów. Znowu liderem okazał się Chrome, a najmniej zostawił znowu Maxthon i ponownie obciążył CPU ponad 60%. Trochę zwiększone zapotrzebowanie na procesor miała również Opera Classic - na poziomie 30%, pozostali zadowolili się mocą od kilku do kilkunastu procent.
9‑10. Na koniec tej serii zostało sprawdzone, jaki apetyt na miejsce na "dysku" mają testowane przeglądarki. Za pomocą systemowej funkcji "Informacje o aplikacji", zostały zsumowane wartości "Pamięć podręczna" i "Dane" oraz odnotowana wartość "Aplikacja". Najmniej miejsca dla pamięci "tymczasowej" zajęła UC Browser - tylko 1,2MB, to są wręcz grosze. Pozostałe rozrosły się od 10 do trzydziestu kilku megabajtów. Ewidentnie odstaje Opera 18, która pochłonęła prawie 56MB. Objętość jaką zajęły same aplikacje po zainstalowaniu, wyłoniły lidera w postaci Ninesky, która zajęła tylko 2,3MB. Najwięcej miejsca przywłaszczył sobie Chrome w ilości ponad 67MB - mega paka normalnie!
11. W kolejnym teście (HTML5 tests - video) sprawdzana była poprawna obsługa odtwarzania materiału wideo osadzonego na stronie w HTML5. Wszystkie przeglądarki poprawnie obsługują wideo w formacie mp4 (kodek h264) i nie było problemu z odtwarzaniem. Wideo w formacie WebM również był bezproblemowo obsługiwany w większości przypadków, wyjątkiem były Opera Classic oraz Puffin. Ostatni klip był w formacie OGG i jedyną przeglądarką, która potrafiła go odtworzyć - był Firefox, jednak tylko sam obraz bez dźwięku.
12‑13. W tym punkcie przeglądarki zostały wyczyszczone i został wykonany test zajętości pamięci RAM. W tym celu otwarto stronę główną dobreprogramy.pl w wersji stacjonarnej i następnie sprawdziłem ile zajmuje ram‑u każda aplikacja. Najmniej zasobów zabrał Chrome - 53MB, a najwięcej Firefox - prawie 2,4 raza więcej od zwycięzcy. W kolejnym etapie, zostały otwarte 7 kart z podstronami DP i pomiar powtórzono. Połowa badanych "zjadła" około 150MB, ponad 170MB zabrały Next, Firefox. Opera 18 dojechała do prawie 200MB, a najwięcej przypadło UC Browser, aż 207MB.
14. Test kolejny - ocena szybkości odświeżenia załadowanej już strony. Do tego celu został wykorzystany popularny serwis aukcyjny. Została otwarta konkretna lista aukcji i został zmierzony czas odświeżenia (przeładowania) widoku. Najszybciej wykonały to zadanie Skyfire, Chrome i Puffin w czasie 7 sekund. Trzy ostatnie miejsca przypadły Firefoxowi, UC oraz Operze Classic, która renderowała stronę aż 33 sekundy.
15. W ostatnim zadaniu został kliknięty odnośnik do konkretnej aukcji (ze strony Allegro z poprzedniego testu). Następnie po wyłączeniu internetu, spróbowałem "wcisnąć" wstecz, aby została załadowana wcześniejsza strona. Specjalnie nie było dostępu do internetu, aby przeglądarki otwarły stronę z pamięci podręcznej. Dało to informację o czasie renderowania strony. Maxthon, Opera 18, UC i Opera Classic - zrobiły to w ciągu 1 sekundy i nie odbyło się ponowne renderowanie, tylko strona została zapamiętana w całości. Pozostali zawodnicy męczyli się od 6 do 9 sekund. Tak długi czas był spowodowany ponownym renderowaniem strony. Jedna przeglądarka nie pozwoliła na operację cofania - Puffin - aplikacja stwierdziła, że nie ma internetu i nie ma możliwości pokazania wcześniejszej strony. Warto jeszcze dodać, że przeglądarki Chrome, Opera 18 - otwierały osobny proces w pamięci na każdą otwartą kartę, a Firefox tworzył dwa procesy, jeden zapewne dla głównej aplikacji z interfejsem, a drugi dla otwartych kart.
4. Podsumowanie
Czas na podsumowanie wyników. Widać, że najwyższą zgodność z HTML5 deklaruje "Wielka trójka" z Operą 18 na czele. UC Browser też się postarał nie odstając bardzo od czołówki i razem z Operą Classic gonią peleton. Pozostali jak na razie odpuścili. Octane mówi nam, że Chrome, Opera 18 i Firefox pracują nad wydajnością, reszta musi poćwiczyć. UC, Opera Classic i Puffin najwyraźniej mają za stare silniki, aby uruchomić coś bardziej zaawansowanego. Rysowanie i przetwarzanie grafiki za pomocą Canvas wychodzi nie najgorzej uczestnikom, jedynie Puffin nie może się ogarnąć. Gorzej jest z WebGL, rozsądnie funkcjonuje tylko na Operze 18 i Firefoxie. Opera Classic próbuje razem z UC Browser coś zdziałać, pozostałe przeglądarki nie wspierają w ogóle tej technologii. Testy zużycia pamięci RAM wykazały, że najmniej zasobów potrzebuje Chrome, jednak jest to okupione z kolei dużym zapotrzebowaniem na miejsce w pamięci stałej. Przeglądarki Maxthon, Opera oraz UC Browser bardzo szybko otwierają strony z pamięci podręcznej nie renderując ich ponownie, pozostałe aplikacje wykonują tą operację za każdym razem. Puffin jako jedyna nie pozwoliła na wczytanie strony z pamięci.
Widać, że starsze silniki przeglądarek, mają odpowiednią wydajność w prostych stronach. Problemy zaczynają się w bardziej skomplikowanych aplikacjach webowych. Nowsze z kolei radzą sobie coraz lepiej z zaawansowaną grafiką 3D i grami. Niestety nie ma nic za darmo, w zamian aplikacje przeglądarkowe puchną i wymagają więcej zasobów.
Do końcowej klasyfikacji została ustalona następująca procedura: każda przeglądarka, która zajęła jedno z pierwszych 5 miejsc w poszczególnych testach, otrzymała od 1 do 5 punktów. Za miejsce pierwsze - 5p, za drugie - 4p, za trzecie - 3p, za czwarte - 2p, za piąte - 1p. Następnie zsumowano punkty, a wyniki poniżej:
Zatem ogłaszam, że najwydajniejszą przeglądarką internetową na Androida według tego zestawu testów, jest:
Miejsce pierwsze: Opera 18
Miejsce drugie: Chrome 31
Miejsce trzecie: Ninesky 2.5
Na zakończenie chciałbym pochwalić przeglądarki Next, Maxthon oraz Dolphin, za dość przyjemną obsługę. Natomiast Ninesky zaliczył dużego minusa - aplikacja była dość niestabilna oraz w ostatnich testach pojawiały niepotrzebne komunikaty, a pasek adresu doprowadzał mnie do szewskiej pasji. Pojawiał się bez przerwy i zasłaniał część strony, przez co nie można było kliknąć np. odnośnika. To już wszystko, pamiętać należy że nie tylko wydajność się liczy, a powyższy test jest tylko jednym z wielu, który może pomóc w ocenie przeglądarek.