[Webkit-unassigned] [Bug 39582] [Gtk] very slow page scrolling on big -webkit-box-shadow areas

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 24 04:13:48 PDT 2010


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





--- Comment #3 from Dirk Schulze <krit at webkit.org>  2010-05-24 04:13:47 PST ---
(In reply to comment #1)
> (In reply to comment #0)
> >
> > [...]
> >
> > It is neccessary to check sideeffects for inset shadows.
> > 
> > I don't have the time to implement it atm :-( and hope that someone else could try it.
> 
> Hi krit, very nice analysis, I've spent sometime checking the problem after the bug 38915 appeared,  I'm not very experienced about this topics but my conclusions after checking it a little bit are:
> 
>    - Avoid getters/setters and use arrays directly, I measured 20% win easy patch, but not much real difference in the scrolling
>    - Add a skip region, we do not want to blur all the image when we want a shadow, not sure if this is happening now
>    - Use alpha-only for shadows instead of all the channels?
> 
> I have time checking if we can fix this, so I can try it, do you think last point make senses? I've checked the information in the filters page (http://www.w3.org/TR/SVG/filters.html#feGaussianBlur) and if I understand correctly in most cases alpha only is enough.

The current implementation does only blur the alpha channel. Otherwise we would be 3-4 times slower :-P

The clipping is one solution, but can have some bad sideeffects. Imagine a rect that you want to blur. We create an ImageBuffer, large enough, so that we have enough place for the rect itself and the resulting blurred edges on the sides. If we clip the rect and the image to the viewPort size, the actual visible size of the screen, the edge on the bottom (if the rect is clipped on the bottom) gets also blured. Of course that can be fixed and it will be more efficient than the current implementation, but to make the shadowImage as small as possible and therefore the number of pixels that need to get blurred as small as possible would be the fastest way.

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



More information about the webkit-unassigned mailing list