[cairo] cairo-trace and cairo-perf-trace with new backend
aymen.chehaider at gmail.com
Wed Nov 4 09:46:32 PST 2009
Thank you very much for your response.
I have encountered other problems :
1- I have coupled in the boilerplate/ for my backend ==> but test results
are FAIL (out of memory !!!)
2- I have generate a cairo trace for my application (Browser OWB), but when
I use the cairo-perf-trace, I have this error :
*[ # ] backend test min(s) median(s) stddev.
[ 0] sahgfx Error during replay, line 5: invalid value
(typically too big) for the size of the input (surface, pattern, etc.)
[ 0] image Error during replay, line 5: invalid value
(typically too big) for the size of the input (surface, pattern, etc.)*
there is my *app.trace* file :
*%!CairoScript - middleware
%*** Warning CairoScript is still a new tracing format, and is subject to
/type /sahgfx set
surface dup /s0 exch def *<==== the problem is in this line 5*
/type /sahgfx set
surface dup /s1 exch def
exch dup /s0 exch def
context % c0
exch dup /s1 exch def
context % c1
s1 context % c2
s1 context % c3
s1 context % c4
s1 context % c5
s1 context % c6
0 0 1280 720 rectangle*
2009/10/13 Chris Wilson <chris at chris-wilson.co.uk>
> Excerpts from aymen chehaider's message of Tue Oct 13 12:13:37 +0100 2009:
> > I have developped a new backend for Cairo 1.9.2. *(Embedded environment)*
> > I want to know, how can I test perfs of this new backend ???
> > How can I use cairo-trace and cairo-perf-trace for this backend ?
> First I presume that you have coupled in the boilerplate/ for your
> backend and are satisfied with the results from the test suite.
> > I have tried to use cairo-trace : *cairo-trace --profile my_application*
> > the result in the file is : *% Unknown object of type cairo_surface_t,
> > is incomplete.*
> Indeed, it means that util/cairo-trace/trace.c does not have the
> appropriate hook for backend surface constructor. Simply add the
> relevant function wrappers by doing a copy'n'paste from one of the other
> But recording new traces is not strictly relevant for performance
> testing, since you can just use the existing traces from cairo-traces.git
> with cairo-perf-trace. The trick here is that cairo-perf-trace uses a
> default value of FALSE for target_is_measurable(), so you need to add
> your surface type to that switch. And the same for the micro-benchmark
> suite, called cairo-perf for 1.9.2. And whilst we're on that subject,
> beware the interface changes that are in master.
> Hope this helps, and you have fun with cairo. Please do share any
> experiences you gained whilst developing a novel backend -- especially
> if they may help shape the internal interfaces both for easing
> maintenance and improving performance.
> Chris Wilson, Intel Open Source Technology Centre
> cairo mailing list
> cairo at cairographics.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cairo