41 votes

Android Graphics internes

Je n'ai pas trouvé une explication claire sur la façon dont le Android, le système graphique fonctionne, plus précisément, faut-il utiliser un serveur d'affichage, elle est basée sur DirectFB ou X11, etc.

De ce que j'ai réussi à rassembler, Android dépend de la Linux frame buffer. Je n'ai pas trouvé grand chose sur ce genre de serveur d'affichage ou de la fenêtre du gestionnaire Android utilise pour le multiplexage d'accès à la mémoire vidéo, donc tous les pointeurs serait bien apprécié!

Enfin, ce que je comprends le BRAS jeu d'instructions fournit des instructions pour accélérer OpenGL, mais comment cela s'intègre avec le serveur d'affichage n'est pas clair, c'est à dire. faire les applications client de négocier un partage de la mémoire tampon dans lequel le client écrit directement?

Sont les bibliothèques OpenGL pour la plate-forme de l'accélérateur de l'open source? J'ai trouvé quelques références qui suggère qu'ils sont fermés source binaires. Encore une fois, tous les pointeurs serait appréciée.

41voto

Romain Guy Points 57114

Il y a deux pièces pour Android carte graphique: SurfaceFlinger et Skia. SurfaceFlinger est Android compositeur, utilisé par le gestionnaire de fenêtres pour créer et afficher des fenêtres (en fait appelé surfaces.) SurfaceFlinger est implémenté sur OpenGL ES 1.x pour le moment et peut également utiliser d'autres l'accélération matérielle des techniques disponibles (MDP, un 2D blitter sur le T-Mobile G1, ou la superposition de matériel sur la Xoom.)

Chaque application rend en son windows (ou surfaces), principalement à partir de Skia. Skia est Android 2D d'une bibliothèque graphique. Vous pouvez également utiliser OpenGL ES 1.x et 2.0 pour rendre en surface.

Android n'utilise pas de DirectFB ou X11, ou toute autre solution Linux.

8voto

jserv Points 120

FYI.

Il y a une brève présentation d'introduction sur Android Graphics: http://www.slideshare.net/jserv/design-and-concepts-of-android-graphics

4voto

pierr Points 9148

Romain Guy avait définitivement raison. Mais la chose a changé depuis Android 3.0. Skia n'est plus si important que cela, la plupart des dessins 2D sont accélérés avec OpenGL, également appelé composant HWUI.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X