[maemo-developers] [maemo-developers] Fwd: [cairo] Improving Cairo performance on the N800

From: Xan Lopez xan.lopez at gmail.com
Date: Tue Jan 16 09:08:12 EET 2007
---------- Forwarded message ----------
From: Xan Lopez <xan.lopez at gmail.com>
Date: Jan 16, 2007 9:01 AM
Subject: Re: [cairo] Improving Cairo performance on the N800
To: Daniel Amelang <daniel.amelang at gmail.com>
Cc: maemo-developers at maemo.org, cairo at cairographics.org

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:

> - 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 maemo-developers mailing list