29.05.2013

Project Butter: Sie fängt an zu schmelzen

Auf der Google I/O gibt es neben der großen Keynote auch viele viele kleinere, mehr spezifische, Präsentationen. Als Blogger sind diese meist eher uninteressant. Ein Grund, warum viele vom folgendem noch nichts gelesen haben.

Project Butter kennt Ihr noch? Das Projekt wurde bei der Vorstellung von Android 4.1 eingeführt. Damals waren schon sehr viele davon begeistert. Zumal Google sein eigenes Ice Cream Sandwich, also Android 4.0, dagegen antreten lassen hat. Ein Schönes Video wie flüssig das ganze ist befindet sich hier.

In der nächsten Android Version, die übriges dieses Jahr noch kommt, oder nächstes, oder bald, hoffentlich, wird es nämlich noch ein tick flüssiger. Wie funktioniert das ganze?
Das Team das dahinter steckt, ermöglicht das durch eine Neuanordnung und Zusammenfassung der einzelnen Views (also Eingabefeldern, Progressbars usw.).

Bisher werden die einzelnen Komponenten nach einander, von oben Links beginnend, auf das Display gelegt. D.h. die GPU, die ja für das erstellen der Views verantwortlich ist, musste dabei immer zwischen den einzelnen Elementen switchen.
Im oberen Bild sehen wir die Komponenten die wir auf den Screen zeichnen wollen. Im unteren sehen wir, wie es zur Zeit gerendert wird. Eine Checkbox, Text, Checkbox2, Text2, Button, Text3, Button2, Text4. Verwirrend?! Ja. Nicht nur für den Menschen ein ziemliches virwarr sondern auch für die GPU. Denn diese muss immer zwischen den einzelnen Komponenten switchen und diese immer wieder neu erstellen.
Step eins ist, diese in Zukunft einfach neu anzuordnen. Dadurch muss die GPU nicht mehr entscheiden "mach ich das, oder das". Hier wird einfach gesagt "mach 2 Checkboxe, 2 Buttons, 4 Texte". Dies geht natürlich viel Schneller.
Der nächste Schritt ist das Zusammenfügen der Komponenten. Nutze endlich deine Cores aus. Die Grafikeinheit muss jetzt nicht mehr alles hintereinander machen und warten bis das View fertig ist. Nein, es erstellt die ganzen "Nebeneinander".

Ich habe hier nochmal zwei Gif's erstellt, die das ganze verdeutlichen. Laut den Entwicklern, sollen so statt vorher 88 Aufrufe zum Zeichnen nur noch 39 benötigt werden. Also knapp die hälfte.
So wird zur Zeit der Screen erstellt. Step by Step.
In Zukunft sollen die Komponenten nach Views geordnet gezeichnet werden.

Quelle:  Link