it-swarm.com.de

Interne Android-Grafik

Ich habe keine klare Erklärung zur Funktionsweise des Android-Grafiksystems gefunden, insbesondere, wenn ein Anzeigeserver verwendet wird, der auf DirectFB oder X11 basiert usw.

Von dem, was ich zusammengefügt habe, hängt Android vom Linux-Frame-Puffer ab. Ich habe nicht viel darüber gefunden, auf welchem ​​Display-Server oder Window-Manager Android den Zugriff auf den Framebuffer multiplext, daher wären alle Zeiger sehr dankbar!

Nach allem, was ich verstehe, enthält der Befehlssatz ARM Anweisungen zur Beschleunigung von OpenGL, aber wie dies mit dem Anzeigeserver integriert werden kann, ist nicht klar. Verhandeln Clientanwendungen einen gemeinsam genutzten Speicherpuffer, in den der Client direkt schreibt?

Sind die OpenGL-Bibliotheken für den Plattformbeschleuniger Open Source? Ich habe einige Hinweise gefunden, die darauf schließen lassen, dass sie Binärdateien mit geschlossenen Quellen sind. Wieder würden alle Hinweise geschätzt.

37
naasking

Android-Grafiken bestehen aus zwei Teilen: SurfaceFlinger und Skia. SurfaceFlinger ist der Compositor von Android. Er wird vom Fenstermanager zum Erstellen und Anzeigen von Fenstern (eigentlich als Oberflächen bezeichnet) verwendet. SurfaceFlinger wird derzeit auf OpenGL ES 1.x implementiert und kann, sofern verfügbar, auch andere Hardwarebeschleunigungstechniken (MDP, 2D-Blitter) verwenden das T-Mobile G1 oder Hardware-Overlays auf dem Xoom.)

Jede Anwendung rendert hauptsächlich in Skia in ihre Fenster (oder Oberflächen). Skia ist die 2D-Grafikbibliothek von Android. Sie können OpenGL ES 1.x und 2.0 auch verwenden, um in eine Oberfläche zu rendern.

Android verwendet weder DirectFB oder X11 noch eine andere vorhandene Linux-Lösung.

38
Romain Guy

Es gibt eine kurze Einführung zu Android Graphics: http://www.slideshare.net/jserv/design-and-concepts-of-Android-graphics

8
jserv

Romain Guy hatte definitiv recht. Aber die Sache hat sich seit Android 3.0 geändert. Skia ist nicht mehr so ​​wichtig, die meisten 2D-Zeichnungen werden mit der HWUI-Komponente openGL, a.k.a beschleunigt. 

4
pierrotlefou

Alle Informationen zu Android-Grafiken finden Sie hier:

https://source.Android.com/devices/graphics/

1
Juan Moreno