Re: [maemo-developers] Cairo benchmarking

2005-10-28 Thread Kalle Vahlman
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

2005-10-28 Thread Matthew Allum
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 Thread Kalle Vahlman
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

2005-10-28 Thread Riku Voipio
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

2005-10-28 Thread Andreas Orfanos
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

2005-10-27 Thread Gustavo Sverzut Barbieri
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

2005-10-27 Thread Matthew Allum
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 Thread Kalle Vahlman
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