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

Issue 363003002: Add duration estimation data to RenderingStats. (Closed)

Created:
6 years, 5 months ago by Dominik Grewe
Modified:
6 years, 5 months ago
Reviewers:
danakj, ernstm, brianderson
CC:
chromium-reviews, cc-bugs_chromium.org, Sami, picksi1, alex clarke (OOO till 29th), Yufeng Shen (Slow to review)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Add duration estimation data to RenderingStats. The deadline scheduler in the Chrome compositor relies on runtime estimations of various stages in the rendering pipeline. This patch adds the actual and estimated runtimes of these stages to RenderingStats so they will be available in tracing output. This will allow us to tune the estimators. BUG=243459 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284428

Patch Set 1 #

Patch Set 2 : Check we only add duration data once per frame. #

Total comments: 12

Patch Set 3 : Add ImplThreadRenderingStatsAccumulated #

Total comments: 7

Patch Set 4 : LTHI forwards estimates to rendering stats. #

Total comments: 4

Patch Set 5 : Rename classes and methods. #

Patch Set 6 : ProxyTimingHistory adds samples. #

Total comments: 6

Patch Set 7 : Nest classes inside RenderingStats; add tests for TimeDeltaList #

Total comments: 4

Patch Set 8 : nits #

Patch Set 9 : rebase #

Patch Set 10 : add CC_EXPORT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+345 lines, -90 lines) Patch
M cc/cc_tests.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M cc/debug/benchmark_instrumentation.h View 1 2 3 4 5 6 1 chunk +4 lines, -2 lines 0 comments Download
M cc/debug/benchmark_instrumentation.cc View 1 2 3 4 5 6 1 chunk +4 lines, -2 lines 0 comments Download
M cc/debug/rendering_stats.h View 1 2 3 4 5 6 7 8 9 1 chunk +54 lines, -26 lines 0 comments Download
M cc/debug/rendering_stats.cc View 1 2 3 4 5 6 4 chunks +70 lines, -10 lines 0 comments Download
M cc/debug/rendering_stats_instrumentation.h View 1 2 3 4 5 6 2 chunks +14 lines, -6 lines 0 comments Download
M cc/debug/rendering_stats_instrumentation.cc View 1 2 3 4 5 6 3 chunks +42 lines, -4 lines 0 comments Download
A cc/debug/rendering_stats_unittest.cc View 1 2 3 4 5 6 7 1 chunk +67 lines, -0 lines 0 comments Download
M cc/trees/proxy_timing_history.h View 1 2 3 4 5 3 chunks +9 lines, -3 lines 0 comments Download
M cc/trees/proxy_timing_history.cc View 1 2 3 4 5 3 chunks +65 lines, -6 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -1 line 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 8 6 chunks +11 lines, -30 lines 0 comments Download

Messages

Total messages: 46 (0 generated)
Dominik Grewe
I'm trying to dump the estimation data into the trace so we can use the ...
6 years, 5 months ago (2014-07-02 14:43:23 UTC) #1
brianderson
https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc File cc/debug/rendering_stats.cc (right): https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc#newcode61 cc/debug/rendering_stats.cc:61: "commit_to_activate_duration_estimate", Postfix labels with _ms so units are easy ...
6 years, 5 months ago (2014-07-02 22:39:29 UTC) #2
Dominik Grewe
I've added a ImplThreadRenderingStatsAccumulated as a list of TimeDeltas. I initially considered making it templated, ...
6 years, 5 months ago (2014-07-03 13:16:39 UTC) #3
Dominik Grewe
+cc london graphics team
6 years, 5 months ago (2014-07-03 13:38:55 UTC) #4
brianderson
https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h#newcode33 cc/debug/rendering_stats.h:33: class CC_EXPORT ImplThreadRenderingStatsAccumulated { What's the plan for how ...
6 years, 5 months ago (2014-07-07 20:01:42 UTC) #5
Dominik Grewe
https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h#newcode33 cc/debug/rendering_stats.h:33: class CC_EXPORT ImplThreadRenderingStatsAccumulated { On 2014/07/07 20:01:42, brianderson wrote: ...
6 years, 5 months ago (2014-07-07 20:42:32 UTC) #6
brianderson
https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h#newcode33 cc/debug/rendering_stats.h:33: class CC_EXPORT ImplThreadRenderingStatsAccumulated { On 2014/07/07 20:42:32, Dominik Grewe ...
6 years, 5 months ago (2014-07-07 21:43:14 UTC) #7
Dominik Grewe
On 2014/07/07 21:43:14, brianderson wrote: > https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h > File cc/debug/rendering_stats.h (right): > > https://codereview.chromium.org/363003002/diff/60001/cc/debug/rendering_stats.h#newcode33 > ...
6 years, 5 months ago (2014-07-08 10:31:39 UTC) #8
ernstm
https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc File cc/debug/rendering_stats.cc (right): https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc#newcode61 cc/debug/rendering_stats.cc:61: "commit_to_activate_duration_estimate", On 2014/07/03 13:16:38, Dominik Grewe wrote: > On ...
6 years, 5 months ago (2014-07-08 15:01:36 UTC) #9
Dominik Grewe
https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc File cc/debug/rendering_stats.cc (right): https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc#newcode74 cc/debug/rendering_stats.cc:74: // There should only ever be one sample of ...
6 years, 5 months ago (2014-07-08 15:10:41 UTC) #10
ernstm
On 2014/07/08 15:10:41, Dominik Grewe wrote: > https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc > File cc/debug/rendering_stats.cc (right): > > https://codereview.chromium.org/363003002/diff/40001/cc/debug/rendering_stats.cc#newcode74 ...
6 years, 5 months ago (2014-07-08 15:24:12 UTC) #11
Dominik Grewe
On 2014/07/08 15:24:12, ernstm wrote: > On 2014/07/08 15:10:41, Dominik Grewe wrote: > > > ...
6 years, 5 months ago (2014-07-08 15:35:29 UTC) #12
Dominik Grewe
Brian, Manfred, do you have any more questions or comments?
6 years, 5 months ago (2014-07-11 16:22:22 UTC) #13
brianderson
I don't have the knowledge to understand how this will hook up to telemetry and ...
6 years, 5 months ago (2014-07-11 18:07:26 UTC) #14
danakj
https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc#newcode1015 cc/trees/thread_proxy.cc:1015: .layer_tree_host_impl->rendering_stats_instrumentation() I don't think ThreadProxy should be reaching through ...
6 years, 5 months ago (2014-07-11 18:16:18 UTC) #15
ernstm
https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc#newcode1015 cc/trees/thread_proxy.cc:1015: .layer_tree_host_impl->rendering_stats_instrumentation() On 2014/07/11 18:16:18, danakj wrote: > I don't ...
6 years, 5 months ago (2014-07-14 13:12:39 UTC) #16
Dominik Grewe
Thanks for the comments. https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc#newcode1015 cc/trees/thread_proxy.cc:1015: .layer_tree_host_impl->rendering_stats_instrumentation() On 2014/07/14 13:12:38, ernstm ...
6 years, 5 months ago (2014-07-14 13:37:52 UTC) #17
ernstm
https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/363003002/diff/60001/cc/trees/thread_proxy.cc#newcode1015 cc/trees/thread_proxy.cc:1015: .layer_tree_host_impl->rendering_stats_instrumentation() On 2014/07/14 13:37:52, Dominik Grewe wrote: > On ...
6 years, 5 months ago (2014-07-14 14:05:26 UTC) #18
danakj
On Mon, Jul 14, 2014 at 10:05 AM, <ernstm@chromium.org> wrote: > > https://codereview.chromium.org/363003002/diff/60001/cc/ > trees/thread_proxy.cc ...
6 years, 5 months ago (2014-07-14 15:01:02 UTC) #19
ernstm
On 2014/07/14 15:01:02, danakj wrote: > On Mon, Jul 14, 2014 at 10:05 AM, <mailto:ernstm@chromium.org> ...
6 years, 5 months ago (2014-07-14 15:40:48 UTC) #20
danakj
On 2014/07/14 15:40:48, ernstm wrote: > On 2014/07/14 15:01:02, danakj wrote: > > On Mon, ...
6 years, 5 months ago (2014-07-14 15:55:52 UTC) #21
ernstm
On 2014/07/14 15:55:52, danakj wrote: > On 2014/07/14 15:40:48, ernstm wrote: > > On 2014/07/14 ...
6 years, 5 months ago (2014-07-15 10:33:55 UTC) #22
danakj
On 2014/07/15 10:33:55, ernstm wrote: > On 2014/07/14 15:55:52, danakj wrote: > > On 2014/07/14 ...
6 years, 5 months ago (2014-07-15 15:07:07 UTC) #23
ernstm
On 2014/07/15 15:07:07, danakj wrote: > On 2014/07/15 10:33:55, ernstm wrote: > > On 2014/07/14 ...
6 years, 5 months ago (2014-07-15 15:27:38 UTC) #24
Dominik Grewe
ProxyTimingHistory now gets a RenderingStatsInstrumentation. All the logic for adding the data to the RSI ...
6 years, 5 months ago (2014-07-17 13:24:55 UTC) #25
ernstm
On 2014/07/17 13:24:55, Dominik Grewe wrote: > ProxyTimingHistory now gets a RenderingStatsInstrumentation. All the logic ...
6 years, 5 months ago (2014-07-17 13:55:01 UTC) #26
danakj
Thanks very much, this is much better. LGTM https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h#newcode34 cc/debug/rendering_stats.h:34: class ...
6 years, 5 months ago (2014-07-17 14:49:35 UTC) #27
ernstm
https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h#newcode34 cc/debug/rendering_stats.h:34: class CC_EXPORT TimeDeltaList { On 2014/07/17 14:49:35, danakj wrote: ...
6 years, 5 months ago (2014-07-17 15:27:54 UTC) #28
danakj
https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h#newcode34 cc/debug/rendering_stats.h:34: class CC_EXPORT TimeDeltaList { On 2014/07/17 15:27:54, ernstm wrote: ...
6 years, 5 months ago (2014-07-17 15:42:59 UTC) #29
Dominik Grewe
https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h File cc/debug/rendering_stats.h (right): https://codereview.chromium.org/363003002/diff/140001/cc/debug/rendering_stats.h#newcode34 cc/debug/rendering_stats.h:34: class CC_EXPORT TimeDeltaList { On 2014/07/17 15:42:59, danakj wrote: ...
6 years, 5 months ago (2014-07-18 14:27:21 UTC) #30
danakj
Thanks! Very cool. LGTM https://codereview.chromium.org/363003002/diff/180001/cc/debug/rendering_stats_unittest.cc File cc/debug/rendering_stats_unittest.cc (right): https://codereview.chromium.org/363003002/diff/180001/cc/debug/rendering_stats_unittest.cc#newcode26 cc/debug/rendering_stats_unittest.cc:26: } Expect_eq(0, getsize) too? https://codereview.chromium.org/363003002/diff/180001/cc/debug/rendering_stats_unittest.cc#newcode36 ...
6 years, 5 months ago (2014-07-18 15:34:47 UTC) #31
Dominik Grewe
Thanks for the comments everyone! Looks much better now than before. https://codereview.chromium.org/363003002/diff/180001/cc/debug/rendering_stats_unittest.cc File cc/debug/rendering_stats_unittest.cc (right): ...
6 years, 5 months ago (2014-07-18 17:16:40 UTC) #32
Dominik Grewe
The CQ bit was checked by dominikg@chromium.org
6 years, 5 months ago (2014-07-18 17:16:46 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominikg@chromium.org/363003002/200001
6 years, 5 months ago (2014-07-18 17:18:34 UTC) #34
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_aosp on tryserver.chromium ...
6 years, 5 months ago (2014-07-18 18:12:17 UTC) #35
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-18 18:15:22 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: android_aosp on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_aosp/builds/94084) android_chromium_gn_compile_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_chromium_gn_compile_rel/builds/23862) android_dbg ...
6 years, 5 months ago (2014-07-18 18:15:24 UTC) #37
Dominik Grewe
The CQ bit was checked by dominikg@chromium.org
6 years, 5 months ago (2014-07-21 09:49:46 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominikg@chromium.org/363003002/220001
6 years, 5 months ago (2014-07-21 09:50:43 UTC) #39
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_chromium_compile_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-07-21 11:47:04 UTC) #40
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-21 12:02:04 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/win_chromium_compile_dbg/builds/39872)
6 years, 5 months ago (2014-07-21 12:02:06 UTC) #42
Dominik Grewe
The CQ bit was checked by dominikg@chromium.org
6 years, 5 months ago (2014-07-21 12:54:45 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dominikg@chromium.org/363003002/240001
6 years, 5 months ago (2014-07-21 12:54:58 UTC) #44
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_chromeos_clang_dbg on tryserver.chromium ...
6 years, 5 months ago (2014-07-21 14:51:25 UTC) #45
commit-bot: I haz the power
6 years, 5 months ago (2014-07-21 15:08:15 UTC) #46
Message was sent while issue was closed.
Change committed as 284428

Powered by Google App Engine
This is Rietveld 408576698