[cairo] some fixes and improvements to current cvs version of
cairo
Kristian Høgsberg
krh at bitplanet.net
Mon Jan 31 19:33:39 PST 2005
David Reveman wrote:
> On Mon, 2005-01-31 at 12:05 -0500, Carl Worth wrote:
>
>>On Fri, 28 Jan 2005 22:44:26 +0100, David Reveman wrote:
>>
>>>It includes a fix for the _cairo_gstate_init bug. This fix adds a
>>>default_pattern to the cairo_gstate struct and cairo_set_rgb_color can
>>>use this without allocating and destroying patterns all the time, and
>>>cairo_gstate_init can no longer fail. What do you think?
>>
>>Does reducing the mallocs actually have any performance benefit here?
>
> I don't know, probably not.
>
>>Another approach to fixing the potential failure of cairo_gstate_init
>>would be to make the allocation of the pattern lazy, (someone recently
>>fixed gstate->font in a similar way). That might be slightly less
>>complex.
>
> I think you're right. I've fixed this in my current patch.
OK, I hate to keep kicking this issue around, but at this point I don't
see what this change is buying us. I appreciate removing an error path,
but this comes at a cost of adding ensure_pattern (which can fail) in
quite a few places. And _cairo_gstate_init is only used from
_cairo_gstate_create, which can fail anyway if it can not allocate
memory for the cairo_state_t, so it's not a big win.
cheers,
Kristian
More information about the cairo
mailing list