[Webkit-unassigned] [Bug 21883] [CAIRO] globalAlpha has to be stored and restored

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 30 07:19:08 PDT 2008


https://bugs.webkit.org/show_bug.cgi?id=21883


alp at nuanti.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #8 from alp at nuanti.com  2008-10-30 07:19 PDT -------
Landed in r38001.

Dirk: I did notice a performance issue we might want to look at.

   case SolidColorSpace:
        if (strokeColor().alpha()) {
            setColor(cr, strokeColor());
            if (m_common->state.globalAlpha < 1.0f) {
                cairo_push_group(cr);
                cairo_paint_with_alpha(cr, m_common->state.globalAlpha);
                cairo_pop_group_to_source(cr);
            }
            cairo_stroke(cr);
        }
        break;

^ Temporary groups are pretty expensive in Cairo IIRC, especially if they're
not clipped. It would be better to just change setColor(cr, strokeColor()) to
set the cairo color to the right alpha value and stroke etc. directly. Anyway,
that's a different issue for a different bug, just thought I'd let you know.

Cheers


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list