[Webkit-unassigned] [Bug 48174] Filter example Chiseled from SVG Wow! is slow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Oct 23 23:01:19 PDT 2010


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





--- Comment #3 from Dirk Schulze <krit at webkit.org>  2010-10-23 23:01:18 PST ---
Created an attachment (id=71671)
 --> (https://bugs.webkit.org/attachment.cgi?id=71671&action=review)
FEGaussianBlur with maximal size 4100x4100 (+ blur radius)

I checked the performance on this example. Replacing CanvasPixelArray* with WTF::ByteStream* increased the rendering time from 31s to 21s on my machine. Still slow but an increase of 30% (taking unsigned char*, like in bug 44528, didn't make a difference). Niko thought about fixing the style violation in platform/graphics/ImageBuffer::get/putImageData (RefPtr ImageData -> RefPtr CanvasPixelArray -> RefPtr ByteArray ) to increase the rendering speed as well. I agree him, but don't see that much performance win for now (less than < 2% of the time is spend in this functions + getting the ByteArray from ImageData).

I'd suggest to replace CanvasPixelArray* by WTF::ByteArray* on all filter effects + SVG masker in a first step. After that we spend the most time in calculating the position of all necessary pixels for the blurring process than in anything else. This needs further investigation on feGaussianBlur. Ariya was working on that for ContextShadow, maybe we can back-port his algorithm from ContextShadow to FEGaussianBlur (at least in parts) and look  what happens.

The problem for lightning is of course CanvasPixelArray again, but also the normalization of the FloatPoint3D. Maybe Zoltan can take a look at this?

-- 
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