[cairo] Improving Cairo performance on the N800

Xan Lopez xan.lopez at gmail.com
Mon Jan 15 23:01:45 PST 2007


On 1/16/07, Daniel Amelang <daniel.amelang at gmail.com> wrote:
> (Double posting here, apologies for any overlap)
>
> Now that Cairo on the 770 is performing pretty well, I hope the way is
> cleared for Maemo to switch over to Cairo (and a more recent GTK).
> Several of us have put a lot of effort into speeding it up, so it
> would be nice to see the fruits of our labors on the Nokia devices. If
> there are any more outstanding performance issues, let us know on the
> Cairo list. FYI, Carl has projected that Cairo 1.4 (the first stable
> release with the new optimizations) will be out in the next month or
> so.

Thanks to everyone's effort the issues of Cairo and a more recent GTK
in maemo are no longer a question of "if" but "when". Thanks for your
contribution :)

>
> Now, the recently announced Nokia N800 is different from the 770 in
> various ways that are interesting for Cairo performance. I've got my
> eye on the ARMv6 SIMD instructions and the PowerVR MBX accelerator.
>
> In other news, I'm looking for a class project for an embedded
> software course I'm taking, so I'm thinking I can kill two birds with
> one stone if I can turn some Cairo on OMAP 2420 optimizations into
> something my professor will give me a grade for. So, I'm looking for
> some feedback on the following ideas:
>
> - Write some ARMv6 SIMD assembly for Cairo's image backend (pixman).
> If this turns out to be feasible and advantageous, the resulting code
> could also be incorporated into the fb part of the X server.
>

Someone wrote to the maemo list very recently suggesting, among
others,  the very same thing:
http://maemo.org/pipermail/maemo-developers/2007-January/007113.html

> - Write a new Cairo backend that targets OpenVG, since the PowerVR MBX
> has fully-accelerated OpenVG rendering. I haven't found anything about
> OpenVG + Maemo 3.0, so maybe the software infrastructure isn't there
> yet to do this.
>

I really don't know if the n800 supports this, buf after googling
around a bit I certainly hope it does. Surely we'll get a reply from
someone in the know.

> - Something involving the OpenGL capabilities of the MBX. It doesn't
> support shaders, so it would be pretty limited. It does support
> multitexturing, so maybe a poor man's glitz is feasible.
>
> Any ideas?
>

The color cache for cairo is still unimplemented! (I know, probably I
should try to do it, serves me right for spamming the list with xtrace
mails ;)

I started a little cairo project targeted for the device a couple of
days ago. If I'm not very misguided it will perfom so poorly that
it'll keep us busy for the rest of the year. If/When I have a
something at least prototype-quality I'll send it to the list.

Cheers, Xan

> Dan Amelang
> _______________________________________________
> cairo mailing list
> cairo at cairographics.org
> http://cairographics.org/cgi-bin/mailman/listinfo/cairo
>


More information about the cairo mailing list