24

Android może być szybszy. Nawet dwa razy szybszy! Niezależni programiści są na fali

Dwurdzeniowe procesory, coraz wydajniejsze układy graficzne, gigabajty pamięci operacyjnej i multum innych podzespołów, które nieustannie są zastępowane nowszymi modelami. Porównując standardy sprzed 12 miesięcy z obecnymi można złapać się za głowę. A tymczasem okazuje się, że zamiast pchania coraz to nowszych podzespołów Androidowi przydałaby się po prostu zdrowa optymalizacja… To, co niezależni programiści potrafią zrobić […]

Dwurdzeniowe procesory, coraz wydajniejsze układy graficzne, gigabajty pamięci operacyjnej i multum innych podzespołów, które nieustannie są zastępowane nowszymi modelami. Porównując standardy sprzed 12 miesięcy z obecnymi można złapać się za głowę. A tymczasem okazuje się, że zamiast pchania coraz to nowszych podzespołów Androidowi przydałaby się po prostu zdrowa optymalizacja…

To, co niezależni programiści potrafią zrobić z Androidem (i nie tylko) od dawna budzi mój wielki podziw i uznanie. To dzięki nim moja poczciwa Xperia X10 ma oprogramowanie kropla w kroplę wyciągnięte z nowej Xperii S i w dodatku działające o niebo lepiej od fabrycznie zainstalowanego (słowo „kiepskie” nie jest współmierne do fuszerki, jaką odwalili programiści SE dostarczając rok temu wersję 2.3.3 na ten model). Tym bardziej z zaciekawieniem oglądałem wideo, w którym członek organizacji non-profit Linaro zaprezentował co udało się zrobić z Androidem 4.0.4.

Na poniższym wideo możemy zobaczyć dwa identyczne urządzenia działające pod kontrolą układów TI OMAP4430. Zastosowano je m.in. w Samsungu Galaxy S II, Motoroli RAZR, Kindle Fire czy Galaxy Nexusie.  Klip nagrali redaktorzy serwisu ARMdevices.net podczas Linaro Connect Q2.12.


Rezultat optymalizacji widać jak na dłoni. Standardowy Android 4.0.4 w benchmarku testującym wydajność renderowania grafiki OpenGL osiągał średnią prędkość 30 FPS. W przypadku wersji zoptymalizowanej przez Linaro wynik sięgał 60 FPS. Oczywiście benchmarki to nie wszystko. Wprawdzie mówiąc, to zaledwie wierzchołek góry lodowej, bo dla końcowego użytkownika liczy się to jak urządzenie działa. Co mu z imponującej wydajności przy znikomym stopniu stabilności i ciągłym restartowaniu gadżetu? Myślę jednak, że Linaro zadbało również o ten aspekt (mimo, że na filmiku tego nie widać). W końcu uzyskanie takiego stopnia wydajności to nie rezultat podkręconych do czerwoności CPU i GPU, a sumiennych i efektywnych działań optymalizacyjnych.

Jeden z deweloperów Linaro, Bernhard Rosenkränzer tłumaczy na wideo, że w zmodyfikowanym systemie zastosowano specjalny pakiet narzędzi programistycznych, z których system korzysta. Ponadto zastosowano nowy, zoptymalizowany pod kątem wydajniejszej obsługi architektury ARM kompilator. Zwróćcie uwagę na jego skromność: „Nie mówię, że jesteśmy lepsi od Google, po prostu poświęciliśmy więcej uwagi zoptymalizowaniu systemu”.

Optymalizacja, której udało się dokonać Linaro nie jest wcale taką odległą perspektywą jeśli chodzi o nasze smartfony. Jak donosi serwis The H, wkrótce trafią one do dziewiątej, opartej na ICS odsłony modyfikacji CyanogenMod. Zapowiedzieli to też inni niezależni programiści, pracujący nad oprogramowaniem dla Galaxy Nexusa i działających na TI OMAP4430 gadżetów.

Jak więc widać można uzyskać lepszą wydajność bez stosowania coraz wydajniejszych podzespołów. Oczywiście nie spodziewajcie się, że jakikolwiek producent pokusi się o to. W końcu z biznesowego punktu widzenia bardziej opłacalne jest wrzucenie kilkuset megaherców/gigabajtów więcej, aniżeli skrupulatne opłacanie programistów wprowadzających modyfikacje do systemu. Dlatego dobrze, że powstają takie organizacje jak Linaro.

Gwoli ścisłości – ryzyka (lub „nadziei” – jak kto woli), że programistów Linaro przejmie Google raczej (!) nie ma. Projekt powstał w 2010 roku z inicjatywy takich gigantów, jak: ARM, Freescale, IBM, Samsung, ST-Ericsson czy Texas Instruments. Jest to organizacja non-profit, która pozostawiła sobie za cel optymalizację oprogramowania open-source pod kątem współpracy z architekturą ARM. Chociaż kto wie, czy Google, widząc efekty ich pracy, nie wyciągnie portfela.