Drücke die Tasten ◄ ► für weitere Artikel  

Android-Entwicklerin klärt auf: Darum ruckelt Googles OS

In den letzten Monaten gab es allerhand Gerüchte über Googles Betriebssystem Android sowie dem Rendering von Grafik und der Hardwarebeschleunigung. Android-Entwicklerin Dianne Hackborn war es leid immer wieder Fehlinformationen zu lesen, sodass sie auf Google+ einen längeren Artikel veröffentlichte, der ein wenig Licht ins Dunkel bringen soll. Ein Informatik-Student und Ex-Praktikant bei Google erweitert ihre These und vertritt die Meinung, dass Android niemals so flüssig laufen werde wie Windows Phone oder iOS.

Android-Entwicklerin klärt auf: Darum ruckelt Googles OS
Android 4.0 Ice Cream Sandwich auf dem Galaxy Nexus läuft ohne spürbares Ruckeln

Es gab bereits in Android 2.x Hardwarebeschleunigung

Wer ein Android-Smartphone oder Tablet besitzt, wird das Ruckeln kennen. Es tritt beim Scrollen auf einer Website auf, oder selbst beim Wechsel von einem Homescreen zu nächsten. Diese Ruckelei hat sich zwar bereits etwas gebessert, in 2.3 und seinen Vorgängern tritt es dennoch auf und selbst Android 3.x Honeycomb sind Reste davon zu bemerken.

Hackborn betont, dass in älteren Android-Versionen vor Android 3.0 und 4.0 zwar bereits teilweise Hardwarebeschleunigung aktiviert gewesen sei, dennoch wurde bisher ein Großteil der Animationen der Nutzeroberfläche per Softwareoptimierung erreicht. Diese wurde mittels des Prozessors und nicht per dedizierter Grafikeinheit berechnet, was ein recht ineffizienter Weg sei, flüssige Animationen und Übergänge zu erreichen. Laut Hackborn sei dies allerdings nicht der einzige Grund für das Ruckeln - denn auch mit einer Portion softwareseitiger Optimierung könne man gute Resultate erzielen, sofern der Prozessor schnell genug sei. Seit Android 3.0 Honeycomb habe man die Hardwarebeschleunigung vollständig in das System implementiert, mit Android 4.0 habe sich dies nicht geändert. Allerdings habe man in der letzten Version eine Standardeinstellung verändert, sodass bei Apps, die speziell für Ice Cream Sandwich entwickelt wurden, automatisch die Hardwarebeschleunigung aktiviert sei und alles runder laufe.

Allein auf Hardwarebeschleunigung zu setzen, sei allerdings kein Wundermittel. Denn diese Technologie hätte auch ihre Nachteile, denn die Treiber des PVR-Grafikchips, die beispielsweise im Nexus S und den Galaxy Nexus zum Einsatz kommen, beginnen auf OpenGL zu setzen, was 8MB RAM in Anspruch nehme. Dies klingt nach relativ wenig, ist es aber nicht, denn der  Process Overhead beträgt lediglich 2MB. Dieser Speicher fehle laut Hackborn bei Hintergrund-Prozessen und App-Switching.

Allein durch Aktivierung der Hardwarebeschleunigung sei bei der Entwicklung eines ruckelfreien Android nicht weiter gekommen. Man habe im ganzen System an diversen Schrauben gedreht, um eine flüssig laufende Nutzeroberfläche zu erreichen. Nicht zu unterschätzende Komponenten seien zudem ein schneller Grafikprozessor und der Memory Bus.

Android 4.0: Zwar schneller als die Vorgänger, aber laut Munn nicht der Weisheit letzter Schluss

Andrew Munn: „Android  wird niemals flüssig laufen“

Andrew Munn, ein Informatik-Student der ein Praktikum in Googles Android-Team absolvierte, veröffentlichte auf Google+ eine umfangreiche Antwort auf Hackborns Erklärung. Seiner Meinung nach werde Android niemals so flüssig laufen wie Apples iOS oder Microsofts Windows Phone. Er schreibt, dass Prozesse in Android noch nach dem Verfahren der Bilddarstellung eines PC arbeite, iOS im Unterschied verfüge über einen separaten Thread, der für das Rendering der UI zuständig und Echtzeit-priorisiert sei.

Seiner Meinung sei es schwierig das Rendering Framework von Android vollständig neu zu entwickeln, da ältere Software nicht mehr kompatibel sein würde. Er zitiert in diesem Kontext Android-Entwickler Romain Guy:

...a lot of the work we have to do today is because of certain choices made years ago... ...having the UI thread handle animations is the biggest problem. We are working on other solutions to try to improve this (schedule drawing on vsync instead of block on vsync after drawing, possible use a separate rendering thread, etc.) An easy solution would of course to create a new UI toolkit but there are many downsides to this also.

Würde Google das Framework komplett neu entwickeln, würden sich daraus seiner Ansicht nach folgende Probleme ergeben: Alle Apps müssten neu programmiert werden, damit sie mit dem Framework kompatibel sind. Android würde einen Modus benötigen, durch den ältere Apps weiterhin unterstützt würden, überdies könnte die Entwicklung neuer Android-Features durch die Umstrukturierung ins Stocken geraten.

Ob Munn mit seinen Thesen korrekt liegt, ist für mich als Nicht-Entwickler nicht leicht zu beantworten. Dass Ice Cream Sandwich dank der erweiterten Hardware-Unterstützung weit besser läuft, kann ich allerdings bestätigen. Sein Artikel über Android ist auf Google+ zu finden.

Weiterführende Links zum Thema Android:

190 Shares bis jetzt – Dankeschön!

Bewerten
VN:F [1.9.22_1171]
19 Antworten
  1. von Artikel: Warum Android ruckelt und niema… am 06.12.2011 (16:38Uhr)

    [...] und niemals so flüssig wie iOS oder WP7 laufen wird! Hi, habe gerade diesen Artikel gefunden: Android-Entwicklerin klärt auf: Darum ruckelt Googles OS » t3n News Darin erklären eine Android-Entwicklerin sowie ein Informatik-Student und Ex-Praktikant bei [...]

  2. von Android-Neuigkeiten: Tablet-Angebote &am… am 06.12.2011 (18:07Uhr)

    [...] Zwischenzeitlich haben wohl einige Medien (androidpit.de, t3n.de, redmondpie.com, phandroid.com) nachgezogen. Die beiden ersten Links führen zu deutschen Seiten, [...]

  3. von Javier Salas via facebook am 06.12.2011 (19:37Uhr)

    Das ruckelnde UI ist ein Armutszeugnis. Da haben die Android-Macher etwas sehr wichtiges nicht verstanden.

  4. von Norman am 06.12.2011 (20:52Uhr)

    "Softwarebeschleunigung" ... das Wort des Monats ;)
    Eine Softwarebeschleunigung gibt es nicht. Denn über die Software etwas zu berechnen, egal ob es sich um eine GUI oder um irgendwelche Berechnungen handelt, ist die letzte Möglichkeit die einem zur Verfügung steht. Wenn man keine passende Hardware für die benötigen Berechnungen zur Verfügung hat, muss man es zwangsweise per Software (auf der CPU) machen. Aber eine Beschleunigung per Software gibt es nicht, da die Software die "Quelldaten" ja überhaupt erst erzeugt. Man kann höchstens den Code optimieren, damit die Berechnungen schneller vonstatten gehen.

    Ich kann bestätigen dass die GUI sich mit Android 4.0 deutlich flüssiger anfühlt.

  5. von mega am 07.12.2011 (10:25Uhr)

    Naja...
    muss eine Oberfläche schneller laufen, als ein Mensch sie bedienen kann?
    Aktuelle Leistungsfähige Androiden laufen so flüssig und schnell, das man ohne Störung damit Arbeiten kann.

  6. von Phicsa am 08.12.2011 (11:34Uhr)

    Also ich bin vor zwei Wochen vom iPad auf ASUS eee Pad Transformer umgestiegen und könnte nicht behaupten das es ruckelt oder hackt, außer es laufen im Hintergrund zu viele Programme, das Problem hat man aber auf jedem PC/Mac.
    Wenn man eine gewisse Hardwareleistung für ein OS benötigt darf man sich nicht aufregen wenn das OS ruckelt wenn man diese eben nicht hat. (aber vielleicht habe ich ja auch gerade das eine Android Tablet wo es nicht ruckelt? ^^)

  7. von am 26.12.2011 (18:24Uhr)

    [...] [...]

  8. von Android 4.0: Hersteller müssen Standard… am 04.01.2012 (15:00Uhr)

    [...] Android-Entwicklerin klärt auf: Darum ruckelt Googles OS - t3n-News [...]

  9. von Hubbel am 26.02.2012 (11:48Uhr)

    Eine einfache, nicht schöne, aber gangbare Lösung ist es, zu dem neuen UI-Framework einen Wrapper für alte Anwendungen zu bauen, welche die alte Logik in das neue Framework zur Laufzeit übersetzt. Der Wrapper wird implizit über die API-Aufrufe der alten Anwendungen verwendet.
    Nachteile sind klar eine schlechtere Performance, welche aber bei alten Anwendungen nicht unbedingt - gerade auf neueren Geräten - auffallen würde. Neue Anwendungen könnten dann direkt von einem neuen komplett beschleunigten UI profitieren und alte laufen immer noch.

    So eine Wrapper-Struktur ist gängige Praxis. Wenn dies bei Andoid nicht machbar ist, hat Google wahrscheinich noch andere größere Patzer im System, welche wohl ein größeres Software-Redesign erfordert.

  10. von Android 4.1 Jelly Bean: Tolle neue Featu… am 28.06.2012 (13:32Uhr)

    [...] und berechtigter Kritik an der oftmals mäßigen Performance von Android, die sich durch unschönes Ruckeln auf Homescreen und anderen Ebenen und eine damit geschmälerte Userexperience ausdrückt, hat Google hier endlich nachgebessert. Jelly [...]

  11. von Android 4.1 Jelly Bean – Erste Eindrü… am 02.07.2012 (16:04Uhr)

    [...] hat dem ersten Anschein nach die ruckelnde Nutzeroberfläche mithilfe des Projekts mit der passenden Bezeichnung „Project Butter“ in den Griff [...]

Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema Android
Android TV: Googles nächster Versuch zur Übernahme des Wohnzimmers
Android TV: Googles nächster Versuch zur Übernahme des Wohnzimmers

Android TV soll Googles Mobilbetriebssystem über eine Set-Top-Box in unsere Wohnzimmer bringen. Nach dem Streaming-Stick Chromecast hat Google damit auch einen echten Konkurrenten für Apple TV und.. ... » weiterlesen

Android laut Studie stabiler als iOS
Android laut Studie stabiler als iOS

Android-Geräte stürzen seltener ab als die Konkurrenzprodukte von Apple. Das besagt eine aktuelle Studie. Allerdings sollen Android und iOS eine generell hohe Stabilität aufweisen. » weiterlesen

Android-Offensive: Twitter übernimmt Lockscreen-App Cover
Android-Offensive: Twitter übernimmt Lockscreen-App Cover

Twitter schnappt sich das junge Team von Cover. Die App erlaubt die Personalisierung von Lockscreens. Cover soll weiterhin erhältlich sein, die Entwickler konzentrieren sich jedoch auf Twitter. » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen