Czy Ubuntu Touch zużywa mniej energii niż Android? [Zamknięte]

11

Jednym z problemów nowych systemów operacyjnych jest zużycie energii. Jest tak, ponieważ moc i wydajność wymagają wielu ulepszeń i doświadczenia z jądrem, sterownikami i bazą kodu systemu operacyjnego z jednej strony, a także wielu obszernych długoterminowych testów i zapewnienia jakości z drugiej strony.

Biorąc pod uwagę, że Android jest dość starym i uznanym systemem operacyjnym, zauważyłem, że ma dość dobre zużycie energii. Phoronix robi tego rodzaju porównania, ale nie mogłem wiele znaleźć na temat Ubuntu Touch.

Czy Ubuntu Touch zużywa mniej niż Android, czy porównujesz dane na niektórych platformach?

Eduard Florinescu
źródło
1
Najprawdopodobniej będzie to generować dyskusje na temat polityki energetycznej, którą Ubuntu touch ma w porównaniu z Androidem, czego nadal nie można ustalić. Moje osobiste zdanie byłoby: zależy.
Braiam

Odpowiedzi:

5

Mój osobisty pogląd (może nie być odpowiedzią, której szukasz):

Dlaczego Android zużywa więcej energii?

Aplikacje na Androida wykorzystują wysoce zoptymalizowaną maszynę wirtualną Java firmy Google. Jeśli więc patrzysz z zewnątrz, aplikacja na Androida działa na maszynie wirtualnej, która znajduje się na prawdziwej maszynie. Więc faktycznie masz dwie maszyny zamiast jednej.

Za każdym razem, gdy aplikacja na Androida tworzy instrukcję, należy ją przetłumaczyć na natywny kod maszynowy z kodu pośredniego, a następnie wykonać przez CPU. To dodatkowy krok, który zużywa energię.

Charakter wewnętrzny Ubuntu Touch

Ubuntu touch nie ma narzutów wirtualnej maszyny Java. Może bezpośrednio uruchamiać programy binarne skompilowane dla procesora, całkowicie eliminując potrzebę tłumaczenia. Wiemy, że zużycie energii powinno być do pewnego stopnia mniejsze w Ubuntu Touch.

Jednak większość aplikacji Ubuntu Touch do tej pory używa interpretera o nazwie qmlscenepodobnej do wirtualnej maszyny Java. Te aplikacje nie są w formacie binarnym, ale są czytelne dla człowieka. Kod jest interpretowany do instrukcji procesora w czasie wykonywania. qmlscenewpływ na wydajność jest mniejszy niż czas działania Java, ponieważ nie jest w to zaangażowana żadna maszyna wirtualna. Nie jest to system wymagający dużej mocy, ponieważ programiści QT sprawili, że jest on wyjątkowo wydajny.

Istnieje również wiele innych powodów dodatkowego zużycia energii. Obejmuje zarządzanie użytkowaniem 3G / 4G, usługi działające w tle itp. Ignorujemy takie fakty, ponieważ różnią się one w zależności od urządzenia. Fakty te są do pewnego stopnia kontrolowane przez system operacyjny.

streszczenie

Ubuntu touch najprawdopodobniej zużyje mniej energii niż Android. W chwili pisania tego tekstu nie jest to jeszcze zoptymalizowane. Będziemy musieli poczekać, aż wyjdą telefony.

Naveen
źródło
4
Dziękuję za odpowiedź. Argument zużycia energii Dalvik jest tutaj: superuser.com/a/639283/151294 . Pracowałem jako inżynier zasilania w kontroli jakości i szczerze mówiąc, widzę, że Dalvik zużywa więcej pamięci, ale Dalvik jest dość zoptymalizowany pod kątem procesora i myślę, że jego narzut nie jest aż tak duży.
Eduard Florinescu,
2
Ta część jest dla mnie bardzo niejasna: są one interpretowane do instrukcji procesora w czasie wykonywania. Dlatego qmlscenewpływ na wydajność jest bardzo wydajny niż środowisko wykonawcze Java. Nie odnotowano, że jest to system wymagający dużej mocy. Jeśli tłumaczy instrukcje w czasie wykonywania, jest bardzo podobne do JVM. Jak dojść do wniosku (używając terminu Więc ), że qmlscenejest on bardziej wydajny i mniej energochłonny?
Shahbaz
3
Nie masz dowodów na to, że to, co mówisz, rzeczywiście ma znaczący wpływ i jesteś źle poinformowany. „Java Virtual Machine” Androida nie jest wirtualną maszyną Java. Ponadto został wyraźnie zoptymalizowany pod kątem niskiego zużycia energii, a jako maszyna wirtualna może mieć bardziej szczegółową kontrolę nad zużyciem energii. Wreszcie Android odchodzi od maszyny wirtualnej, aby używać natywnie wykonywanego kodu w środowisku wykonawczym ART. Wreszcie, wszystko to dotyczy tylko zużycia energii przez procesor, co jest dość nieistotne w porównaniu z zużyciem energii przez ekran, radia i inne elementy urządzenia.
DCKing
1
Nie można odpowiedzieć na pytanie dotyczące zużycia energii, przyjmując takie niejasne założenia. Dalvik może być znacznie wydajniejszy, niż myślisz, ale dopóki go nie przetestujesz, nie możesz tego wiedzieć. Ponadto na efektywność energetyczną ma ogromny wpływ liczba usług systemowych, zadań w tle itp., A nie tylko środowisko wykonawcze.
erjiang
3
Serdecznie zapraszam do aktualizacji mojej odpowiedzi lub dostarczenia własnej ...
Naveen
2

Ubuntu Touch może zużywać więcej energii w telefonach, w których nie został zainstalowany domyślnie, ponieważ sterowniki nie są zoptymalizowane przez osoby, które utworzyły telefon, i mogą być mniej wydajne niż w Androidzie.

Aby uzyskać wiarygodną odpowiedź, musisz porównać dwa prawie identyczne telefony, jeden z systemem Ubuntu Touch i drugi z Androidem. Ten, na którym działa Ubuntu Touch, powinien zostać dostrojony do obsługi Ubuntu (np. Ostatnio ogłoszone telefony Meizu lub BQ).

CameronNemo
źródło