Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Issue 327093003: [RAL] Reduce SVG tree walks (Closed)

Created:
6 years, 6 months ago by Julien - ping for review
Modified:
6 years, 6 months ago
CC:
blink-reviews, blink-reviews-rendering, krit, eae+blinkwatch, ed+blinkwatch_opera.com, f(malita), fs, gyuyoung.kim_webkit.org, jchaffraix+rendering, kouhei+svg_chromium.org, leviw+renderwatch, pdr., rwlbuis, rune+blink, Stephen Chennney, zoltan1
Visibility:
Public.

Description

[RAL] Reduce SVG tree walks This is based on an earlier patch from <fs@opera.com>;. The performance regression mostly came from excessive tree walks on SVG_SvgCubics (with only a tiny part of it came also from extra invalidations). This change re-introduces what SVGRenderSupport::checkForSVGRepaintingDuringLayout was doing to prevent invalidation by checking if your parent had a transform change, except that we use it to avoid entire subtree walks. On my Z620, this changes the results of SVG_SvgCubics as follows: - RAL without patch: 16 ms (std: 0.5) - RAL with patch: 8.8 ms (std: 0.4) - Pre-RAL: 9.2 ms (std: 0.3) BUG=381138 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=175983

Patch Set 1 #

Total comments: 2

Patch Set 2 : Rebaselined patch #

Patch Set 3 : Added svg/repaint/image-with-clip-path.svg to the rebaseline list #

Unified diffs Side-by-side diffs Delta from patch set Stats (+38 lines, -3 lines) Patch
M LayoutTests/TestExpectations View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
M Source/core/rendering/svg/RenderSVGModelObject.cpp View 1 chunk +7 lines, -0 lines 0 comments Download
M Source/core/rendering/svg/SVGRenderSupport.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/rendering/svg/SVGRenderSupport.cpp View 1 1 chunk +9 lines, -3 lines 0 comments Download

Messages

Total messages: 17 (0 generated)
Julien - ping for review
Performance fix. The test changes are invalidation removal (checked visually that the changes are fine).
6 years, 6 months ago (2014-06-10 23:28:13 UTC) #1
leviw_travelin_and_unemployed
lgtm https://codereview.chromium.org/327093003/diff/1/Source/core/rendering/svg/SVGRenderSupport.h File Source/core/rendering/svg/SVGRenderSupport.h (right): https://codereview.chromium.org/327093003/diff/1/Source/core/rendering/svg/SVGRenderSupport.h#newcode75 Source/core/rendering/svg/SVGRenderSupport.h:75: static bool parentTransformDidChange(RenderObject*); Why RenderObject and not RenderSVGModelObject? ...
6 years, 6 months ago (2014-06-10 23:32:26 UTC) #2
pdr.
+cc fs@opera who may have further comments. LGTM https://codereview.chromium.org/327093003/diff/1/Source/core/rendering/svg/SVGRenderSupport.h File Source/core/rendering/svg/SVGRenderSupport.h (right): https://codereview.chromium.org/327093003/diff/1/Source/core/rendering/svg/SVGRenderSupport.h#newcode75 Source/core/rendering/svg/SVGRenderSupport.h:75: static ...
6 years, 6 months ago (2014-06-11 03:09:24 UTC) #3
leviw_travelin_and_unemployed
On 2014/06/11 03:09:24, pdr wrote: > +cc fs@opera who may have further comments. > > ...
6 years, 6 months ago (2014-06-11 06:51:30 UTC) #4
fs
LGTM. Thanks for picking it up.
6 years, 6 months ago (2014-06-11 10:32:20 UTC) #5
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 6 months ago (2014-06-11 15:56:43 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/327093003/1
6 years, 6 months ago (2014-06-11 15:57:40 UTC) #7
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-11 15:57:48 UTC) #8
commit-bot: I haz the power
Failed to apply patch for Source/core/rendering/svg/SVGRenderSupport.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 6 months ago (2014-06-11 15:57:49 UTC) #9
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 6 months ago (2014-06-11 16:43:11 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/327093003/10001
6 years, 6 months ago (2014-06-11 16:43:24 UTC) #11
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: mac_blink_rel on tryserver.blink ...
6 years, 6 months ago (2014-06-11 18:28:59 UTC) #12
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-11 19:11:30 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/11114)
6 years, 6 months ago (2014-06-11 19:11:31 UTC) #14
Julien - ping for review
The CQ bit was checked by jchaffraix@chromium.org
6 years, 6 months ago (2014-06-11 19:18:44 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/327093003/30001
6 years, 6 months ago (2014-06-11 19:19:12 UTC) #16
commit-bot: I haz the power
6 years, 6 months ago (2014-06-12 05:26:24 UTC) #17
Message was sent while issue was closed.
Change committed as 175983

Powered by Google App Engine
This is Rietveld 408576698