[Webkit-unassigned] [Bug 52200] Small filter primitive renderer improvements

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 19 05:57:14 PST 2011


--- Comment #20 from Dirk Schulze <krit at webkit.org>  2011-01-19 05:57:13 PST ---
(In reply to comment #19)
> > Yes. And the last point confused me, but now I understand your concept. There is still a problem I guess. What if an attribute causes the smallest effect rect to be bigger? E.g. The stdDeviation of feGaussianBlur increases. Doesn't it mean, that the results of determineFilterPrimitiveSubregion() are wrong? Doesn't this cause an invalidation, because our code in RenderSVGResourceFilter::applyResource() depends on these results? Something I haven't thought about yet :-(
> I think we can leave this later. First, I would focus on attributes which does not change layout, only repainting is enough. Although repainting is still difficult, since one Filter(Primitive)Renderer can be referenced by multiple SVG elements, and renderer->repaint() only support one rectangle. Do you have any idea to invalidate multiple rects?

Is this necessary? Your idea was to clear all ImageBuffers an ImageData of the effects that needs to get repainted and of all of its childs, the last filterEffect should be affected as well. RenderSVGResourceFilter asks the last FilterEffect for its ImageBuffer, if it hasn't one, It calls FilterEffect::apply. apply calls FilterEffect::apply recursively up to that filterEffect that already has a result. So there isn't even a change necessary on applyResource or postApply, and repaint isn't necessary as well for the moment, right?  If the last effect isn't affected, we don't need to relayout or repaint at all, because the effect that changed is not needed for our result.

Hope it helps :-P

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