I had read the surface flinger source code in cupcake, and hope to
undertand how the android GUI system work. but now I am mixed-up
still.
and following is my understand and questions:

surfaceflinger work flow:
(1) new surfaceflingerclient(), it will createconnection(), and new a
client
(2) createsurface, it will new layer or layerblur or layerdim by z-
blend order
(3) createoverlay, if layer support overlay
(4) register buffer
(5) draw something on canvas(line, text, bitmap, rect...) which attach
above buffer
(6) post buffer

my questions now:
(1) surfaceflinger.cpp
SurfaceFlinger::createconnection() will create a client which allocate
8MB heap for manangement surface data handle(color conversion, flip,
layers).
how many client have android system? one is BootAnimation, one is test
sample overlays.cpp, one is debug CPUGUAGE, and one is WindowManager?
In fact BootAnimation will destroy when it finish, (but how it destroy
the 8MB heap?). Test sample and debug CPUGUAGE will not start for it
is not enabled.
So android system has only one surface flinger client, isn't it?
OpenGL has another client?

(2)createsurface()
each app with one window has attached one surface? or all app share
one surface?
one surfaceflinger client can create mutiple surfaces?

(3)copybit.default.so
where is the source code?

(4)surfaceflinger not support YUV format?
and it ony support RGB565?

more question and analysis will be continued,
welcome helps

thanks

tom
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to