Czemu Android jest wolniejszy od iOS‑a?

Na wstępie pokornie uprzedzam, że co bardziej wrażliwi użytkownicy Androida powinni odpuścić sobie lekturę tej publikacji. Zawiera nie tylko fakty, ale i groźne dla ładu społecznego opinie, które — o zgrozo — powinny być czym prędzej zamiecione pod dywan, bo obrażają uczucia religijne.

09.12.2011 | aktual.: 09.12.2011 16:08

Mniej radiomaryjnych i bardziej zdystansowanych czytelników zainteresować może jednak dyskusja tocząca się na łamach Google+ pomiędzy Dianne Hackborn (pracującą w Google nad Androidem) a Andrew Munnem (byłym stażystą w Google, który pewnie będzie dla wielu niewiarygodny, bo swój kolejny staż zaczął w zespole od Windows Phone - jak się domyślacie, już nie w Google).

Andrew dzieli się swoimi opiniami, dlaczego jego zdaniem interfejs Androida przycina się i jest wolniejszy, niż interfejsy iOS-a, Windows Phone 7, QNX-a czy WebOS. Zdaniem Andrew to między innymi kwestia priorytetów - w przenośni i dosłownie. Twierdzi, że w iOS interfejs renderowany jest w specjalnym wątku posiadającym najwyższy priorytet, w Androidzie tak nie jest. Różnice stają się szczególnie zauważalne, gdy w tle urządzenie wykonuje inne zadania. Łatwo to sprawdzić samemu, wczytując w Safari dużą stronę i próbując przewinąć ją, zanim się załaduje - zauważycie, że renderowanie ustanie, póki nie zdejmiecie palców z ekranu. W rzeczywistości jest to bardziej skomplikowane, co wytknęło Andrew kilku programistów specjalizujących się w aplikacjach dla iOS. Przykładowo, różne elementy renderowania interfejsu iOS pracują jednak w różnych wątkach, a płynne działanie Safari wynika po części z kultury pisania aplikacji w środowisku Apple. Niemniej, wiele z jego obserwacji i wniosków pozostaje w mocy.

Andrew nie zgadza się też z opinią Dianne, że brak akceleracji sprzętowej w Androidach wcześniejszych niż Honeycomb to nie problem. Co więcej, zauważył że nawet akceleracja sprzętowa nie rozwiązała w przypadku Androida wszystkich problemów i np. animacje podczas przeglądania zdjęć w galerii Honeycomba celowo ograniczono do 30 klatek na sekundę, bo nie udało się uzyskać stabilnych 60 klatek, co powodowało wrażenie zmian w prędkości przewijania.

Argumentów Andrew ma znacznie więcej i zahaczają też o kwestie sprzętowe, niemniej wniosek z długiego wywodu jest prosty — obecna architektura Androida powoduje, że z wielu powodów jego interfejs nie będzie tak płynny, jak rozwiązania konkurencyjne. Ocenę wydaje się częściowo potwierdzać Romain Guy z Google, który odpowiada za akcelerację sprzętową — w cytowanej przez Andrew wypowiedzi przyznaje, że obecna sytuacja jest wynikiem wyborów, które zespół od Androida poczynił lata temu i których zmiana nie jest teraz niestety prosta.

Cała dyskusja jest dość interesująca i oczywiście można sprowadzić ją zaraz do tego, że Andrew to student, więc pewnie i pijak o reputacji nadszarpniętej faktem, że przeniósł się na staż do Microsoftu. A do tego kłamie, bo przecież o Androidzie nie da się powiedzieć prawdy, która postawiłaby go w złym świetle. Czasem jednak warto pochylić się nad różnymi punktami widzenia nawet, jeśli będzie to oznaczać dyskusję nad świętościami.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Wybrane dla Ciebie
Komentarze (324)