Google Chrome - Ostre krawędzie

środa, 30 września 2009

Od pewnego czasu testuję Google Chrome na systemie Linux, myślę że najwyższa pora by podzielić się wrażeniami.

Na początek Łoooł… błyskawiczny start… Strony wyświetlane prawie natychmiast… Minimalistyczny wygląd. Trzeba trochę czasu, by ochłonąć i zacząć dostrzegać jakieś wady.

Oczywiście nie jest to mój pierwszy kontakt z tą przeglądarką. Pisałem już wcześniej o Google Chrome ( 1, 2).

Dotychczas jednak ograniczałem się do uruchamiania Chrome pod maszyną wirtualną. To dla tego że miałem pewne problemy z uruchomieniem tej przeglądarki pod Linuksem. Próbowałem nawet własnej kompilacji, po to by przekonać się że moja wersja rozlatuje się tak samo jak oficjalny build.

Dopiero kilka tygodni temu, przypadek naprowadził mnie na właściwy trop. Jeżeli na dzień dobry pojawia się zagadkowy błąd:

Check failed: read_buffer_->data().

To może on być spowodowany niewłaściwymi uprawnieniami do katalogu /dev/shm. Rozwiązaniem jest poniższy wpis w /etc/fstab

none             /dev/shm         tmpfs       rw               0   0
i wykonanie polecenia mount /dev/shm.

Porównując z Mozilla Firefox

Porównanie z przeglądarką, której używam na co dzień nasuwa się samo…

Szybkość

(+) Chrome jest wyraźnie szybsze – Muszę to przyznać mimo olbrzymiej sympatii jaką darzę Liska.

(+) Silnik Javascript V8 daje tej przeglądarce miażdżącą przewagę nad konkurencją. Można się o tym przekonać odwiedzając stronę JSNES. U mnie Chrome jest 4~5 razy szybsze niż Firefox.

(+) Animacja i efekty. Gecko ma możliwości animacji w html, jedynie dzięki temu że współczesne komputery są wystarczająco szybkie. W porównaniu z nim, ma się wrażenie że Webkit został zaprojektowany z myślą o efektach specjalnych. Wszystko jest płynne i odbywa się bez żadnych niespodzianek.

(-) Jednak po pewnym czasie natrafiłem na kilka stron gdzie Chrome okazywało się… wolniejsze. Niekiedy niemożliwe było przeczytanie strony w całości. Paradoksalnie Firefox nie miał problemów z tymi stronami. Najczęściej podobne objawy występują przy wyższym obciążeniu procesora spowodowanym np przez Adobe Flash. Jednak, nawet w tym przypadku, przeglądarka radzi sobie całkiem nieźle: przynajmniej inne zakładki nie cierpią w takich okolicznościach.

Istnieją sytuacje gdy separacja zadań pomiędzy poszczególnymi zakładkami jest niewystarczająca. W końcu istnieje jeden proces zajmujący się wyświetlaniem grafiki, z którym wszystkie inne muszą się komunikować. W efekcie niekiedy jest tak samo jak na przeglądarce Firefox, gdy otwiera się kilka stron na raz, trzeba poczekać na inne zakładki by zobaczyć tą jedną która nas interesuje.

Największe zalety

(+) Odrębne procesy dla stron. Chyba to jest największy plus tej przeglądarki. Można łatwo zobaczyć która strona jest źródłem wszelkiego zła. Można zabić pojedynczy proces z poziomu systemu. Wpływ poszczególnych stron na stabilność przeglądarki został zminimalizowany.

(+) Zoom. Nie wiem czemu, ale ludzie z Mozilla Foundation implementując zoom, uparli się by stosować nieistniejące API X-Window (dosłownie!). Efekt jest taki, że Firefox skalując zdjęcie wyświetla brzydkie poszarpane krawędzie, podczas gdy Chrome i wszystkie inne programy nie mają w tym temacie większych problemów.

Nie oszlifowane krawędzie

Oczywiście nie wszystko jest idealne. Używając tej przeglądarki dłużej, można trafić na wiele drobnych niedogodności typowych dla tak młodego programu.

(-) Dla mnie największą przypadłością jest to że Chrome ignoruje informację o DPI monitora. W efekcie, mając dużą rozdzielczość na małym ekranie, typowym dla laptopa, muszę patrzeć na koszmarnie małe literki. Możliwość powiększania strony działa nawet lepiej niż na Firefox, ale cóż z tego? Przeglądarka w żaden sposób nie zapamiętuje stopnia powiększenia… co skutkuje koniecznością ustawicznego naciskania ctrl – +.

Udało mi się nieco złagodzić ten problem, pisząc małe rozszerzenie korzystające z API Greasemonkey. Powiększa ono automatycznie strony o 120%. Moje rozwiązanie nie jest niestety doskonałe, ponieważ skrypt uruchamia się dopiero po załadowaniu strony, co jest bardzo dokuczliwe przy stronach, które nie potrafią się w całości załadować – zadziwiająco częste zjawisko w czasach gdy każda strona musi być pełna reklam i różnych udziwnień.

(-) Pasek przewijania, nie jest prawdziwym paskiem przewijania. Pod Linuksem nawet nie wygląda jak systemowy pasek. Przyzwyczaiłem się do tego że powinien mieć wysoki kontrast – dzięki czemu wyraźnie widzę w którym miejscu dokumentu się znajduję.

Niekiedy zdarza się że klikając myszką na ów pasek, dokument przeskakuje nie o jedną stronę, ale o dwie i więcej.

Jest jeszcze jedna wada: W przypadku prawdziwego paska przewijania, można zdecydować po której stronie ma być wyświetlany, jest to bardzo pomocne dla leworękich użytkowników tabletów.

(-) Chrome obsługuje Skrypty Greasemonkey, ale brakuje wsparcia ze strony interfejsu użytkownika, nawet instalacja skryptów wymaga ręcznego przeniesienia ich do odpowiedniego katalogu. Trochę szkoda, bo właśnie te skrypty niejednokrotnie ratują tą przeglądarkę i pozwalają załatać najbardziej dokuczliwe niedogodności.

(-) Krening i ligatury. Kolejny problem udało mi się zidentyfikować dopiero kilka dni temu. Otóż, zauważyłem że niektóre strony niewygodnie mi się czyta na Chrome. Gdy porównałem ich wygląd na Chrome i Firefox, zauważyłem że ta druga przeglądarka znacznie lepiej radzi sobie z pismem szeryfowym.

Przyglądając się dokładniej, można zauważyć że pismo jest nieproporcjonalne, przeglądarka nie używa kerningu. Brakuje też ligatur, które potrafią istotnie poprawić czytelność tekstu. Efektem jest zaburzenie rytmu w piśmie i komfort porównywalny z jazdą autem po wybojach.

Wydaje się że to drobiazg, ale… Znana gazeta Times rozpoczęła od zaprojektowania własnego kroju pisma (o tej samej nazwie), a system Windows, część swojego sukcesu zawdzięcza czytelności fontu Arial. Często właśnie takie szczegóły, na które normalnie nie zwraca się uwagi, potrafią zaważyć o sukcesie lub porażce.

(-) Nie obsługuje dynamicznie ładowanych fontów. Wielka szkoda, bo zdążyłem polubić tą funkcję. Mam jednak nadzieję że wkrótce się to zmieni, bo Safari nie ma z tym większych problemów.

(-) Awaryjność. Nie ma co ukrywać, Firefox jest dużo stabilniejszy. Przy dłuższym używaniu Chrome można spotkać się zarówno z awariami poszczególnych zakładek jak i całej aplikacji. Oczywiście konsekwencje są znacznie mniej katastrofalne – zazwyczaj wystarczy przeładować stronę / przeglądarkę, ale mimo wszystko… Każda taka usterka to potencjalny punkt zaczepienia dla ewentualnych exploitów.

(-) Nie znalazłem sposobu na selektywne wyłączenie pluginów.

Reklamy

Reklamy, reklamy, reklamy… To straszne. Po latach, mam okazję zobaczyć jak wygląda Sieć w oczach przeciętnego użytkownika – już po kilku dniach byłem znużony ich natręctwem.

Niestety. Niezależnie od używanej przeglądarki, zawsze mamy do czynienia z tym samym Flash Playerem, głównym spowalniaczem systemu.

Tak więc najlżejsza przeglądarka to ta, która sprawnie odrzuca śmieci.

Na koniec

Pisząc ten tekst, starałem się skoncentrować nie tylko na zaletach, ale także na wadach nowej przeglądarki. Wiekszość z nich to choroby wieku młodzieńczego i spodziewam się że wkrótce będą tylko wspomnieniem.

Google Chrome już teraz ma bardzo duży wpływ na rynek przeglądarek, wystarczy zobaczyć planowane zmiany wyglądu przeglądarki Firefox

Mimo to jest trochę wcześnie by wyrokować i jednoznacznie wskazywać na konkretnego zwycięzcę. Przykład z kerningiem pokazuje że inne przeglądarki mają wiele zalet, będących efektem wieloletnich udoskonaleń, których nie sposób tak zwyczajnie zignorować.

ps
By upewnić się, że moje wrażenia, nie są złudzeniem, zainstalowałem także kila innych rozwojowych przeglądarek. Po pierwszym uruchomieniu Seamonkey 2.0, też odniosłem wrażenie większej szybkości (niż Chrome). Efekt był spowodowany tym, że zazwyczaj porównuje się nowo uruchomioną przeglądarkę (z jedną tylko zakładką) z czymś czego używamy na co dzień – niech to będzie przestrogą przed pochopnym wyciąganiem wniosków.

Etykiety: , ,

Red 11:25

Komentarze

Prześlij komentarz

Archiwum

Subskrybuj

RSS / Atom