[cairo] After 'set_line_width',
subsequent stroking is slow [ Background image]
olivier.jolet at skynet.be
Wed Feb 21 03:48:07 PST 2007
> > On 2/20/07, Olivier Jolet <olivier.jolet at skynet.be> wrote:
> > > Also, I have another problem of performance, if I use the
> > > 'cairo_set_line_width' primitive, it is very much slower. I don't
> > > understand why there is a such difference?
> > Neither do I. I don't think I'm understanding you. Do you mean that
> > when you call set_line_width, all subsequent stroking is slower than
> > when you don't? Obviously the call to cairo_set_line_width itself is
> > really fast, so I don't think you're referring to that.
> Yes, I think it's exactly that. When I do not call set_line_width, all
> subsequent stroking is faster.
> > > It's a little complicated to provide the code + data because it is
> > > on a greater real time application.
> > Understandable. You could try capturing the data from a given run,
> > which would allow one to later replay the drawing without the need
> > the full application. You already have all your drawing code
> > centralized in that small interpreter, so adding some logging
> > capabilities shouldn't be too painful. Come to think of it, you
> > probably easily write out all that drawing data you already have in
> > that dlbuf variable I saw in your code.
> > Dan
> I will try.
WITHOUT SET_WIDTH WITH SET_WIDTH
Primitives : 5340 Primitives : 5340
TIME to draw: 68.813 msec TIME to draw: 397.58 msec
Primitives : 5346 Primitives : 5346
TIME to draw: 63.405 msec TIME to draw: 297.517 msec
Primitives : 5345 Primitives : 5345
TIME to draw: 62.746 msec TIME to draw: 287.675 msec
Primitives : 5322 Primitives : 5321
TIME to draw: 64.246 msec TIME to draw: 291.121 msec
Primitives : 5209 Primitives : 5210
TIME to draw: 63.504 msec TIME to draw: 246.034 msec
Primitives : 5171 Primitives : 5165
TIME to draw: 63.391 msec TIME to draw: 244.956 msec
More information about the cairo