PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann Android mit 24bpp Displays umgehen?



fexpop
22.08.2009, 21:50:32
Ich trenne jetzt mal die beiden Diskussionstränge. Hier sollte meines Erachtens alles rein, was sich um die Grafikfähigkeiten von Standard-Android selbst dreht.

Zusammenfassend für Neueinsteiger:

Es gibt ein klare Aussage des Android Entwicklers Romain Guy, der schreibt:



Android is perfectly capable of rendering onto 16 bits and 32 bits (or 24 bits if you prefer) displays.

Quelle: Android Developers Mailingliste (http://groups.google.com/group/android-developers/browse_thread/thread/6b908c8f5c332f8f/809bb30ca9f199c2#809bb30ca9f199c2)
Es gibt eine weitere Quelle, in der die Android Entwicklerin Dianne Hackborn auf eine Anfrage zu den 24bit Fähigkeiten des Android Emulators schreibt:


The system is currently oriented around 16 bit displays. I can't tell you
off-hand what all needs to be changed for 24 bit displays (how much in the
surface flinger, upper-level frameworks that may pre-load bitmaps dithered
to 16 bpp for performance reasons), but presumably you are already
investigating this as you port to your platform?

Quelle: Android Developers Mailingliste (http://groups.google.com/group/android-developers/browse_thread/thread/23b60caea0110ff7/4634c26b0b4918db)
Da die Aussage von Dianne nicht so eindeutig formuliert ist, wie die von Romain Guy, und sie außerdem auf eine Frage nach dem Emulator geantwortet hat, herrscht in der Interpretation Unstimmigkeit zwischen mir und foxman.

Dazu hier mein Kommentar:


Dianne schreibt nicht, dass Sie nichts genaues weiß.


"I can't tell you off-hand what all needs to be changed for 24 bit displays "

Sie kann es nicht sagen, sie weiß es nicht, was geändert werden müsste. Dass sie nicht einmal sicher ist, dass etwas geändert werden müsste folgt dann aus "how much in the
surface flinger, upper-level frameworks that may pre-load bitmaps dithered
to 16 bpp"



Sie schreibt, dass das ganze System auf 16 Bit ausgelegt ist


"The system is currently oriented around 16 bit displays"

Orientiert /= auf 16 Bit ausgelegt. Wenn sich das System lediglich an 16 bit displays orientiert, kann das auch heißen, dass zwar an einigen oder auch vielen Stellen auf 16bit runterrechnet, Android aber trotzdem volle 24bit Farbtiefe aufs Display zeichnen kann. Deshalb ja auch das bereits oben zitierte "[...] may pre-load bitmaps dithered to 16 bpp[...]"




Eigentlich gehts um ein 4" oder 5" großes Display mit 24 Bit Farbtiefe.

Nein. Der Fragsteller entwickelt zwar für ein Gerät mit 5" Display. In seiner Frage geht es aber ganz eindeutig in erster Linie um den Emulator: "Now my question can I somehow recompile Android 1.5 emulator image so it's using 24bit instead?"

fexpop
23.08.2009, 15:18:13
Hmm, ich habe gerade das hier gefunden:


Android makes two requirements of the driver: a linear address space of mappable memory that it can write to directly and support for the rgb_565 pixel format. A typical frame display includes:
accessing the driver by calling open on /dev/fb0
using the FBIOGET_FSCREENINFO and FBIOGET_VSCREENINFO Input / Output Control (ioctl) calls to retrieve information about the screen
using FBIOPUT_VSCREENINFO ioctl to attempt to create a virtual display twice the size of the physical screen and to set the pixel format to rgb_565. If this succeeds, double buffering is accomplished with video memory.

Quelle: Android porting guide (http://www.netmite.com/android/mydroid/development/pdk/docs/display_drivers.html), aber auch im aktuellen Quellcode von Donut in development/pdk/docs/guide/display_drivers.jd
Das ist ein sehr, sehr starkes Argument dafür, dass Android im Rohzustand tatsächlich nur 16bpp Displays unterstützt! (Die einzige andere Möglichkeit, wäre, dass vergessen wurde, den Text anzupassen. Glaub ich aber nicht!)


Ich werde meine bisherigen Beiträge zu dem Thema entsprechend anpassen.

Schöne Grüße, Felix

fluxkompensator
25.08.2009, 02:02:16
hab nun von einem Freund der das Europa Portfolio eines der grossen Herstellers schmeisst (nicht Samsung oder HTC) die Info das Eclair keine Farbeinschränkungen mehr hat, Cupkake schon, Donut (was wohl nur ein minor Update ist) unsicher