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

Issue 2745563004: Reduce copying of local data structures in GeometryMapper and PaintLayerClipper. (Closed)

Created:
3 years, 9 months ago by chrishtr
Modified:
3 years, 9 months ago
Reviewers:
pdr., Xianzhu
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, fmalita+watch_chromium.org, jbroman, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reduce copying of local data structures in GeometryMapper and PaintLayerClipper. In particular, changes return values from FloatClipRect to const FloatClipRect&, to avoid extra data structure copies. In local testing, this CL produces up to a 10% improvement on the rasterize_and_record_micro.partial_invalidation benchmark. BUG=692614 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2745563004 Cr-Commit-Position: refs/heads/master@{#456011} Committed: https://chromium.googlesource.com/chromium/src/+/05c00d2035047fa9d210d95afedf8bd063bccc33

Patch Set 1 #

Patch Set 2 : none #

Patch Set 3 : none #

Patch Set 4 : none #

Patch Set 5 : none #

Patch Set 6 : none #

Patch Set 7 : none #

Patch Set 8 : none #

Patch Set 9 : none #

Total comments: 9

Patch Set 10 : none #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+356 lines, -335 lines) Patch
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 4 chunks +26 lines, -22 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp View 1 chunk +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ClipRect.h View 1 1 chunk +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 3 chunks +19 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerClipper.h View 2 chunks +6 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerClipper.cpp View 1 2 3 4 5 10 chunks +32 lines, -31 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 1 chunk +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.h View 1 1 chunk +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp View 1 2 chunks +21 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +14 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/FloatClipRect.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.h View 1 2 3 4 5 6 7 8 9 8 chunks +42 lines, -27 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.cpp View 1 2 3 4 5 6 7 8 9 9 chunks +83 lines, -98 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp View 1 2 3 4 5 6 7 8 9 9 chunks +78 lines, -71 lines 1 comment Download

Depends on Patchset:

Messages

Total messages: 23 (14 generated)
chrishtr
3 years, 9 months ago (2017-03-09 23:25:37 UTC) #9
Xianzhu
https://codereview.chromium.org/2745563004/diff/150001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2745563004/diff/150001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp#newcode141 third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:141: if (!object.hasLayer()) (Can be follow-up) We can tighten this ...
3 years, 9 months ago (2017-03-10 00:06:49 UTC) #11
chrishtr
https://codereview.chromium.org/2745563004/diff/150001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2745563004/diff/150001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp#newcode178 third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:178: RefPtr<ClipRects> clipRects = ClipRects::create(); On 2017/03/10 at 00:06:49, Xianzhu ...
3 years, 9 months ago (2017-03-10 01:45:30 UTC) #14
chrishtr
https://codereview.chromium.org/2745563004/diff/170001/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp File third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp (right): https://codereview.chromium.org/2745563004/diff/170001/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp#newcode425 third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp:425: clipRect2.setRect(clip2->clipRect().rect()); Somehow I fixed a bug in this CL ...
3 years, 9 months ago (2017-03-10 01:46:23 UTC) #15
Xianzhu
lgtm
3 years, 9 months ago (2017-03-10 04:01:16 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2745563004/170001
3 years, 9 months ago (2017-03-10 05:05:50 UTC) #18
commit-bot: I haz the power
Committed patchset #10 (id:170001) as https://chromium.googlesource.com/chromium/src/+/05c00d2035047fa9d210d95afedf8bd063bccc33
3 years, 9 months ago (2017-03-10 06:51:32 UTC) #21
kinuko
A revert of this CL (patchset #10 id:170001) has been created in https://codereview.chromium.org/2743733004/ by kinuko@chromium.org. ...
3 years, 9 months ago (2017-03-10 09:45:26 UTC) #22
kinuko
3 years, 9 months ago (2017-03-10 10:34:16 UTC) #23
Message was sent while issue was closed.
On 2017/03/10 09:45:26, kinuko wrote:
> A revert of this CL (patchset #10 id:170001) has been created in
> https://codereview.chromium.org/2743733004/ by
https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=kinuko@chromium.org.
> 
> The reason for reverting is: Speculative revert, it doesn't look related but
am
> trying changes in the blame range.
> 
> Will update if the revert has changed things / will revert the revert
otherwise.
> 
>
https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64/builds...
> 
> Test:
>
SitePerProcessHighDPIExpiredCertBrowserTest.InterstitialLoadsWithCorrectDeviceScaleFactor.

Ok, I'm reverting this revert. Sorry for disturbing!

Powered by Google App Engine
This is Rietveld 408576698