Re: [maemo-developers] Cairo benchmarking
2005/10/28, Clemens Eisserer [EMAIL PROTECTED]: Btw. a simple test to see wether its really the FP API which causes the bad performance would be to render the whole stuff into a very small surface and see wether the performance improves a lot. I was going to test it with different xlib surface size but since the older SW did not allow me to kill matchbox without rebooting the whole thing and matchbox is kind enough to maximize the window regardless... But hopefully I'll be able to do it with more recent SW at some point. -- Kalle Vahlman, [EMAIL PROTECTED] Powered by http://movial.fi ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
On 10/28/05, Kalle Vahlman [EMAIL PROTECTED] wrote: I was going to test it with different xlib surface size but since the older SW did not allow me to kill matchbox without rebooting the whole thing and matchbox is kind enough to maximize the window regardless... You cant make the test window a dialog or even a nasty overide redirect ? Last time I checked matchbox only 'maximises' application windows and supports many other window types than just application ones -- Matthew ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
2005/10/28, Matthew Allum [EMAIL PROTECTED]: On 10/28/05, Kalle Vahlman [EMAIL PROTECTED] wrote: I was going to test it with different xlib surface size but since the older SW did not allow me to kill matchbox without rebooting the whole thing and matchbox is kind enough to maximize the window regardless... You cant make the test window a dialog or even a nasty overide redirect ? Last time I checked matchbox only 'maximises' application windows and supports many other window types than just application ones Yeah, that's another solution. But I didn't bother to change the program at that time since it was old platform anyway (not accurate data for the real current situation) and just killing the wm with a particular flag set to prevent booting would've been easier. Probably will do it when I rerun some tests on newer stuff. -- Kalle Vahlman, [EMAIL PROTECTED] Powered by http://movial.fi ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
On Friday 28 October 2005 10:08, Kalle Vahlman wrote: 2005/10/28, Clemens Eisserer [EMAIL PROTECTED]: Btw. a simple test to see wether its really the FP API which causes the bad performance would be to render the whole stuff into a very small surface and see wether the performance improves a lot. I was going to test it with different xlib surface size but since the older SW did not allow me to kill matchbox without rebooting the whole thing and matchbox is kind enough to maximize the window regardless... Just stop matchbox with dsmetool if you want to avoid reboot. -- Riku ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
I think someone can speed up the whole thing by using OpenGL ES (fixed point). I found this project link from MesaProject website http://ogl-es.sourceforge.net/ What do you think? AndreasOn 10/28/05, Riku Voipio [EMAIL PROTECTED] wrote: On Friday 28 October 2005 10:08, Kalle Vahlman wrote: 2005/10/28, Clemens Eisserer [EMAIL PROTECTED]: Btw. a simple test to see wether its really the FP API which causes the bad performance would be to render the whole stuff into a very small surface and see wether the performance improves a lot. I was going to test it with different xlib surface size but since the older SW did not allow me to kill matchbox without rebooting the whole thing and matchbox is kind enough to maximize the window regardless...Just stop matchbox with dsmetool if you want to avoid reboot. --Riku___maemo-developers mailing listmaemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
could you please try something using enlightenment Evas? It's supposed to be much faster than cairo. -- Gustavo Sverzut Barbieri --- Computer Engineer 2001 - UNICAMP GPSL - Grupo Pro Software Livre Cell..: +55 (19) 9165 8010 Jabber: [EMAIL PROTECTED] ICQ#: 17249123 MSN: [EMAIL PROTECTED] Skype: gsbarbieri GPG: 0xB640E1A2 @ wwwkeys.pgp.net ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
Hey; Though internally cairo is mostly fixed point, its api is floating point - the 770 ( like most ARM devices ) lacks an FPU and thus any FP operations ( especially with hardfloat ) are slowww and really should be avoided. Also as yet cairo isn't heavily optimised and without any kind of supported h/w acceleration cairo operations can be very cpu intensive especially on a relatively large display. -- Matthew On 10/27/05, Kalle Vahlman [EMAIL PROTECTED] wrote: Hola list!I started to write a little Cairo animation to better introduce myselfto the wonders of it, and thought I'd do a little Cairo benchmarkingwith it on the 770.The setup:Compiled cairo 1.0.2 with vanilla settings, and copied to the device.Compiled my demo with -O3The device was not the latest HW nor SW, so the results might be a tadworse than they are on the current devices. Haven't rerun the benchmark yet on newer devices.The demo:It consists of: - creating a XLib surface from the X window - creating image surface for background (only on startup) - copying from that to a buffer surface to clear bg when drawing - drawing a simple shape with lines and few bezier curves on the buffer surface - copying the drewn areas to the xlib surfaceI don't know if this is the most efficient way to draw with cairo, Imight be doing something foolish here and slowing down the process (please say that I do?-).The results:Not that convincing.I ran the demo with 1, 5 and 10 objects drawn simultaniously, and theFPS calculated from those are 5.71, 2.6 and 1.51.So nowhere near smooth animation. I tried to compile the cairo with the softfloat toolchain inscratchbox but that made cairo refuse to draw anything (not sure whatgoes wrong there), although it doesn't crash or complain.The timings for the last three items in the above list tell that the slowest parts are (not suprisingly) the item drawing (0.048s per itemconsistently) and the transferring to the xlib surface (0.099s for 1item, 0.115s for 10 items).Intresting note is that the xlib surface transfer is apparently well buffered, and does not grow linearily with the item count. Still theinitial hit is big enough.This is of course presented in the context of animation, but I thinkthat if you can't do smooth animation (somewhere between 10-15FPS) with simple objects, it won't be fast enough for UI either.The biggest bottleneck seems to be indeed the object drawing (I'dguess the beziers are to blame), but I intend to test drawingdifferent types of elements once I get the time, plus a better profiling of what's taking so long and where.The test results are attached, as well as the demo (the code is littlemessy and contains excess stuff as it's been evolving).--Kalle Vahlman, [EMAIL PROTECTED]Powered by http://movial.fi___maemo-developers mailing list maemo-developers@maemo.orghttps://maemo.org/mailman/listinfo/maemo-developers ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: [maemo-developers] Cairo benchmarking
2005/10/27, Matthew Allum [EMAIL PROTECTED]: Hey; Though internally cairo is mostly fixed point, its api is floating point - the 770 ( like most ARM devices ) lacks an FPU and thus any FP operations ( especially with hardfloat ) are slowww and really should be avoided. Yes, I'm painfully aware of that ;) Although I was also under the impression that cairo would be utilizing floats heavily on the inside, which does not seem to be all true. Also as yet cairo isn't heavily optimised and without any kind of supported h/w acceleration cairo operations can be very cpu intensive especially on a relatively large display. Yeah, to be honest, I expected cairo to perform even worse than it actually does. -- Kalle Vahlman, [EMAIL PROTECTED] Powered by http://movial.fi ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers