Dear Akio,
Yes, you are right.
The graphic work is actually "splitted" into several parts:
-1- the management of the graphic 2D surfaces (including surface
creation, decoding of bitmaps,...). This is mainly implemented by the
class SkBitmap and the associated classes... We have already
investigated this deeply, and I think that we have a decent knowledge
of this part.
-2- the management of the composition and the bitblits of these
surfaces (SurfaceFlinger,...) to the layers.
-3- the actual blit of the layers to the LCD.
>BTW, after tracing the code, I found that the fb operation is
>via mmap to map the fb memory to user space. maybe in directfb,
>the framebuffer memory mapping can be adapted and replace the
>original mmap operation with some modification. just thinking
>and discussion.
This mainly regards 2 & 3. If we want to fully take advantage of 2D
accelerations, 1 and 2 are certainly the most relevant parts. If the
surface can actually be managed DirectFB, the acceleration will be
used to:
- accelerate the decoding of images, as well as blitting, alpha
blending, resizing,...
- optimize the graphic memory used by offscreen buffers, minimize
the copying of buffers
The concerned classes are mainly part of the graphic toolkit itself,
that is not related to the kernel. ;-)
FYI, the profiling that we are used to do for many distinct embedded
platforms shows that more than 85% of the processor cycles are used by
decoding and bitblitting while using a software graphic toolkit.
The graphic user interfaces that are currently offered by Androïd
applications are quite "static", and mechanisms such as partial
refresh allows to take advantage of partial refresh and dirty surface
clipping, keeping decent (and even very good, on the G1) performances.
But if we want to create more dynamic experiences (with mobiles
objects, semi-transparency surfaces, animated backgrounds...), partial
refresh is no more applicable, and a hardware composer can be very
useful. In this context, DirectFB is a perfect model to mask the
hardware work !
I think that the main part of the performance improvements are there
for the moment.
>for performance issue, I think the directfb will improve the x86
>version's performance very dramatically. not only 2D performance,
>but also 3D performance.
You are right, but I think that focusing on 2D, taking care of fully
keeping the excellent (IMHO) architecture of SGL can immediately allow
us to taste the best part of the cake.
Note that another interesting point is the link between Multimedia and
DirectFB, but this is another story...;-)
Regards.
Franck
> >> Akio- Hide quoted text -
>
> - Show quoted text -