Bug 38820 - Further optimization for SVG's repaintRect calculation
Summary: Further optimization for SVG's repaintRect calculation
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Dirk Schulze
URL:
Keywords:
Depends on: 36564
Blocks:
  Show dependency treegraph
 
Reported: 2010-05-09 13:26 PDT by Dirk Schulze
Modified: 2010-05-10 08:59 PDT (History)
2 users (show)

See Also:


Attachments
Patch (50.02 KB, patch)
2010-05-09 13:47 PDT, Dirk Schulze
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schulze 2010-05-09 13:26:59 PDT
Masking:
We don't have intelligent algorithms, to determin the smallest size of a masked objekt to get a smaller repaintRect in SVG.

ClipPath:
We calculate the union of all childs of a clipPath every time, the clipPath is used by a target. This union can be cached and transformed by the targets objectBoundingbox on calling resourceBoundingBox(). This is no lost if only one target takes the clipPath resource, but will speed up the calculation if more than one object use the same resource. This also avoids multiple transformations by localToParentTransform and the follwoing mapRect call.
The same algorithm can be used by masking too.
Comment 1 Dirk Schulze 2010-05-09 13:47:52 PDT
Created attachment 55508 [details]
Patch
Comment 2 Eric Seidel (no email) 2010-05-09 13:52:01 PDT
Comment on attachment 55508 [details]
Patch

We're certain this changed no pixel tests, correct?
Comment 3 Dirk Schulze 2010-05-09 14:04:26 PDT
(In reply to comment #2)
> (From update of attachment 55508 [details])
> We're certain this changed no pixel tests, correct?

I allways test with pixel tests and a tolerance of 0. No pixel changes.
Comment 4 Nikolas Zimmermann 2010-05-10 01:51:38 PDT
Comment on attachment 55508 [details]
Patch

Dirk++, r=me.
Comment 5 Dirk Schulze 2010-05-10 08:59:27 PDT
Comment on attachment 55508 [details]
Patch

Clearing flags on attachment: 55508

Committed r59081: <http://trac.webkit.org/changeset/59081>
Comment 6 Dirk Schulze 2010-05-10 08:59:37 PDT
All reviewed patches have been landed.  Closing bug.