[cairo] scaled_font fini & directfb
l.thee.a at gmail.com
Sat Dec 26 16:54:29 PST 2009
> Wow, somebody who is actively using the dfb backend.
I guess this explains why there has not been any checkins to DFB files lately.
> 1. Don't use the directfb backend, the only thing it can
> accelerate is unscaled blits and fills. Can you conclusively
> demonstrate that the dfb backend is any faster than just using an
> image surface and manually pushing and pulling pixels between dfb.
I have a dismal --dismal, dismal-- cpu; but I enjoy "decent" hw
graphics (gles 1.1 + 2D). I have been trying to offload work from cpu
to the hw. I am experimenting with texture triangles (with very
limited success). And yes there is a considerable difference with
hw-accel, especially during alpha blending (which I do a lot). I have
started with image surfaces, and am switching to dfb ones. There is
already considerable difference.
> 2. Don't have multiple active cairo contexts. They are intended to be
> short-lived objects. Aim to have a single context for a single expose
This makes sense. Will do.
> 3. Use a more recent version of cairo which has a bounded global glyph
> cache, as opposed to a glyph cache per scaled font.
I am using 1.8.8, should I try a non-release version? Also even if the
glyph cache is global, is not it static? I still need to flush it,
> 4. Use an upcoming version of cairo and the dfb backend may have become
> As the last known user of the directfb backend, can you justify its
I really doubt that I am the last one though. Actually I think you
might see a growing number of dfb backend users in the coming months.
It seems that all the embedded companies are moving to DFB, and some
projects based on Cairo are becoming popular (like webkit?).
Also when bound by cpu (and memory bandwidth) what other choice do I
have? I have attempted to do hw accel by modifying the pixman, but my
dear hw does not support virtual addresses. And copying the image
surface to video memory, defeats the whole purpose.
More information about the cairo