---------- Forwarded message ---------- From: Xan Lopez <[EMAIL PROTECTED]> Date: Jan 16, 2007 9:01 AM Subject: Re: [cairo] Improving Cairo performance on the N800 To: Daniel Amelang <[EMAIL PROTECTED]> Cc: maemo-developers@maemo.org, [EMAIL PROTECTED]
On 1/16/07, Daniel Amelang <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] http://cairographics.org/cgi-bin/mailman/listinfo/cairo
_______________________________________________ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers