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

Issue 1898813002: Allow throttling in painting microbenchmark (Closed)

Created:
4 years, 8 months ago by Sami
Modified:
4 years, 7 months ago
Reviewers:
chrishtr, Xianzhu, ojan
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-layout_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dglazkov+blink, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, f(malita), jbroman, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, sof, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow throttling in painting microbenchmark ContentLayerDelegate::paintContents() is being used as an alternate painting path by the rasterize and record microbenchmark. This benchmark can crash if any frame on the page is being throttled, because this way of painting doesn't enable throttling. This patch fixes that by enabling throttling, which also makes the benchmark more realistic since the real painting path also uses throttling. BUG=600377 TEST=tools/perf/run_benchmark rasterize_and_record_micro.top_25_smooth --browser=debug --story-filter=Blogger Committed: https://crrev.com/30585301cd73bf1e6cff2c9bf22422e515b728d8 Cr-Commit-Position: refs/heads/master@{#388598}

Patch Set 1 #

Patch Set 2 : Added test. #

Patch Set 3 : Always throttle in CompositedLayerMapping #

Patch Set 4 : Rebased #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -0 lines) Patch
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp View 1 2 3 3 chunks +56 lines, -0 lines 2 comments Download

Messages

Total messages: 37 (11 generated)
Sami
Something along these lines? No unit test yet, and I'm not sure what to do ...
4 years, 8 months ago (2016-04-18 18:55:39 UTC) #3
Xianzhu
In what cases that we should not allow throttling?
4 years, 8 months ago (2016-04-18 19:02:57 UTC) #4
Xianzhu
+chrishtr@ for more opinions.
4 years, 8 months ago (2016-04-18 19:03:40 UTC) #6
Sami
I was thinking about the same thing. The only case that comes to mind is ...
4 years, 8 months ago (2016-04-19 09:59:59 UTC) #7
Sami
On 2016/04/19 09:59:59, Sami wrote: > I was thinking about the same thing. The only ...
4 years, 8 months ago (2016-04-19 10:09:42 UTC) #8
Xianzhu
On 2016/04/19 10:09:42, Sami wrote: > On 2016/04/19 09:59:59, Sami wrote: > > I was ...
4 years, 8 months ago (2016-04-19 16:51:13 UTC) #9
Sami
On 2016/04/19 16:51:13, Xianzhu wrote: > On 2016/04/19 10:09:42, Sami wrote: > > On 2016/04/19 ...
4 years, 8 months ago (2016-04-19 16:56:33 UTC) #10
Xianzhu
On 2016/04/19 16:56:33, Sami wrote: > On 2016/04/19 16:51:13, Xianzhu wrote: > > On 2016/04/19 ...
4 years, 8 months ago (2016-04-19 17:42:19 UTC) #11
Sami
On 2016/04/19 17:42:19, Xianzhu wrote: > FrameView::paintContents() won't go to CompositedLayerMapping::paintContents(). > During printing, PaintLayerPainter ...
4 years, 8 months ago (2016-04-20 10:59:23 UTC) #12
Xianzhu
lgtm
4 years, 8 months ago (2016-04-20 16:20:02 UTC) #14
Xianzhu
lgtm lgtm
4 years, 8 months ago (2016-04-20 16:20:03 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1898813002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1898813002/40001
4 years, 8 months ago (2016-04-20 16:20:21 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/170849)
4 years, 8 months ago (2016-04-20 16:26:44 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1898813002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1898813002/60001
4 years, 8 months ago (2016-04-20 17:31:02 UTC) #22
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 8 months ago (2016-04-20 23:52:01 UTC) #24
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/30585301cd73bf1e6cff2c9bf22422e515b728d8 Cr-Commit-Position: refs/heads/master@{#388598}
4 years, 8 months ago (2016-04-22 19:27:33 UTC) #26
ojan
The need for this makes me wonder if we should change rasterize and record benchmark. ...
4 years, 7 months ago (2016-04-28 21:46:34 UTC) #28
ojan
https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp File third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp (right): https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp#newcode677 third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp:677: paintRecursively(layer, &displayItems); Specifically, this is not a thing that ...
4 years, 7 months ago (2016-04-28 21:47:28 UTC) #29
Xianzhu
https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp File third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp (right): https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp#newcode677 third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp:677: paintRecursively(layer, &displayItems); On 2016/04/28 21:47:27, ojan wrote: > Specifically, ...
4 years, 7 months ago (2016-04-28 21:56:32 UTC) #30
ojan
On 2016/04/28 at 21:56:32, wangxianzhu wrote: > https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp > File third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp (right): > > https://codereview.chromium.org/1898813002/diff/60001/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp#newcode677 ...
4 years, 7 months ago (2016-04-28 22:29:23 UTC) #31
ojan
I guess I'm wondering if we could test similar things while still actually running the ...
4 years, 7 months ago (2016-04-28 22:46:23 UTC) #32
Stephen Chennney
On 2016/04/28 22:29:23, ojan wrote: > On 2016/04/28 at 21:56:32, wangxianzhu wrote: > > > ...
4 years, 7 months ago (2016-04-29 14:34:00 UTC) #33
enne (OOO)
> I don't think that's the same thing. microbenchmarks should still *only* tests real codepaths ...
4 years, 7 months ago (2016-04-29 18:19:09 UTC) #34
ojan
On 2016/04/29 at 18:19:09, enne wrote: > > I don't think that's the same thing. ...
4 years, 7 months ago (2016-04-29 18:27:46 UTC) #35
ojan
On 2016/04/29 at 14:34:00, schenney wrote: > On 2016/04/28 22:29:23, ojan wrote: > > On ...
4 years, 7 months ago (2016-04-29 18:30:34 UTC) #36
ojan
4 years, 7 months ago (2016-04-29 20:23:06 UTC) #37
Message was sent while issue was closed.
Enne explained to me that this code and need for the throttling exception will
go away entirely when SPv2 completes. That entirely addresses my concern that
we're taking on technical debt without a plan for paying it off.

In general, I think when we're adding technical debt, the minimum bar is that we
have a plan for eventually removing it and encode that in a TODO. That doesn't
mean we need to do the TODO right away if it genuinely isn't the right time for
it.

But, in this case, since the code is going to get deleted, I think it's fine to
leave out the TODO. :)

Powered by Google App Engine
This is Rietveld 408576698