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

Issue 787763006: cc: Adding BeginFrameTracker object and removing Now() from LTHI. (Closed)

Created:
6 years ago by mithro-old
Modified:
5 years, 7 months ago
Reviewers:
sunnyps, brianderson, Sami
CC:
chromium-reviews, cc-bugs_chromium.org, scheduler-bugs_chromium.org, simonhong
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Adding BeginFrameTracker object and removing Now() from LTHI. **Sheriffs**: If this patch is making a test flaky / fail, then the test was already broken and this just makes the problem visible. This patch reduces the jitter in LTHI's animation time to be identical to the vsync jitter rather than being affected by the system load and OS scheduling delays. BeginFrameTracker uses DCHECKs and TRACE_EVENT to strictly track how the BeginFrameArgs are used throughout the LTHI. Using this information incorrect usage of Now() has been eliminated. Methods which violate correct usage of BeginFrameArgs are now clearly marked to prevent regressions. BUG=346230 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/0bdb49d47d685409d8f69dd0eb749a4f9e7bca6a Cr-Commit-Position: refs/heads/master@{#331563}

Patch Set 1 #

Total comments: 1

Patch Set 2 : Fixing gn bots. #

Total comments: 16

Patch Set 3 : Rebase onto master. #

Patch Set 4 : Adding documentation as requested by Brian. #

Total comments: 18

Patch Set 5 : Fixing for Brian's comments. #

Total comments: 2

Patch Set 6 : Tests almost pass I think. #

Patch Set 7 : Fixing for Brian's comments. #

Patch Set 8 : Rebase onto master. #

Patch Set 9 : Rebase onto master #

Patch Set 10 : Including dependent patch. #

Patch Set 11 : Rebase onto master. #

Patch Set 12 : Upload for try bots. #

Patch Set 13 : [DONT REVIEW] - Upload with deps for trybot running. #

Patch Set 14 : Rebase onto dependent patches. #

Total comments: 14

Patch Set 15 : Fixing review comments. #

Patch Set 16 : Rebase onto master. #

Patch Set 17 : Small fixes. #

Patch Set 18 : Rebase onto master. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+320 lines, -102 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
A cc/scheduler/begin_frame_tracker.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +97 lines, -0 lines 0 comments Download
A cc/scheduler/begin_frame_tracker.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +121 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +3 lines, -2 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 11 chunks +37 lines, -47 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +4 lines, -7 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -1 line 0 comments Download
M cc/test/fake_layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -4 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +6 lines, -8 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 7 chunks +17 lines, -23 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 5 chunks +11 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_context.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +8 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 32 (7 generated)
mithro-old
Hi everyone, This is the base CL which I'm trying to land before end of ...
6 years ago (2014-12-12 15:08:59 UTC) #2
brianderson
I'd say go with the first solution if you can and fix the tests without ...
6 years ago (2014-12-13 01:31:54 UTC) #3
brianderson
https://codereview.chromium.org/787763006/diff/20001/cc/scheduler/begin_frame_tracker.cc File cc/scheduler/begin_frame_tracker.cc (right): https://codereview.chromium.org/787763006/diff/20001/cc/scheduler/begin_frame_tracker.cc#newcode55 cc/scheduler/begin_frame_tracker.cc:55: void BeginFrameTracker::Finish() { Or is this important for debug ...
6 years ago (2014-12-18 02:01:38 UTC) #4
mithro-old
It took me a lot longer to get to this patch today then I had ...
6 years ago (2014-12-18 17:22:41 UTC) #5
brianderson
https://codereview.chromium.org/787763006/diff/60001/cc/scheduler/begin_frame_tracker.cc File cc/scheduler/begin_frame_tracker.cc (right): https://codereview.chromium.org/787763006/diff/60001/cc/scheduler/begin_frame_tracker.cc#newcode75 cc/scheduler/begin_frame_tracker.cc:75: if (interval < base::TimeDelta::FromMilliseconds(4)) { 250Hz seems like something ...
6 years ago (2014-12-18 21:57:08 UTC) #6
mithro-old
Currently failing tests locally, 8 tests crashed: LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor.RunMultiThread_DelegatingRenderer_ImplSidePaint LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor.RunMultiThread_DelegatingRenderer_MainThreadPaint LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor.RunMultiThread_DirectRenderer_ImplSidePaint LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor.RunMultiThread_DirectRenderer_MainThreadPaint LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled.RunMultiThread_DelegatingRenderer_ImplSidePaint LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled.RunMultiThread_DelegatingRenderer_MainThreadPaint LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled.RunMultiThread_DirectRenderer_ImplSidePaint LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled.RunMultiThread_DirectRenderer_MainThreadPaint ...
6 years ago (2014-12-18 23:15:06 UTC) #7
sunnyps
Fun fact: All of those tests have the use_external_begin_frame_source flag set to true in the ...
6 years ago (2014-12-18 23:23:00 UTC) #8
mithro-old
On 2014/12/18 23:23:00, sunnyps wrote: > Fun fact: All of those tests have the use_external_begin_frame_source ...
6 years ago (2014-12-18 23:52:05 UTC) #9
brianderson
lgtm once you can get the tests to pass. https://codereview.chromium.org/787763006/diff/60001/cc/scheduler/begin_frame_tracker.cc File cc/scheduler/begin_frame_tracker.cc (right): https://codereview.chromium.org/787763006/diff/60001/cc/scheduler/begin_frame_tracker.cc#newcode75 cc/scheduler/begin_frame_tracker.cc:75: ...
6 years ago (2014-12-19 01:18:25 UTC) #10
mithro-old
Pretty much ready to land now. Just needs * 792803008: cc: A commit waits for ...
6 years ago (2014-12-19 03:40:55 UTC) #11
mithro-old
On 2014/12/19 03:40:55, mithro wrote: > Pretty much ready to land now. > > Just ...
5 years, 8 months ago (2015-04-09 07:39:22 UTC) #12
brianderson
https://codereview.chromium.org/787763006/diff/260001/cc/scheduler/begin_frame_tracker.cc File cc/scheduler/begin_frame_tracker.cc (right): https://codereview.chromium.org/787763006/diff/260001/cc/scheduler/begin_frame_tracker.cc#newcode38 cc/scheduler/begin_frame_tracker.cc:38: current_updated_at_ = base::TimeTicks::NowFromSystemTraceTime(); This might be in a different ...
5 years, 7 months ago (2015-05-01 02:05:21 UTC) #13
mithro-old
https://codereview.chromium.org/787763006/diff/260001/cc/scheduler/begin_frame_tracker.cc File cc/scheduler/begin_frame_tracker.cc (right): https://codereview.chromium.org/787763006/diff/260001/cc/scheduler/begin_frame_tracker.cc#newcode38 cc/scheduler/begin_frame_tracker.cc:38: current_updated_at_ = base::TimeTicks::NowFromSystemTraceTime(); On 2015/05/01 02:05:21, brianderson wrote: > ...
5 years, 7 months ago (2015-05-01 03:27:56 UTC) #14
mithro-old
TODO for myself: Update the patch comment to be more comprehensive and include instructions about ...
5 years, 7 months ago (2015-05-05 01:15:32 UTC) #15
brianderson
lgtm
5 years, 7 months ago (2015-05-05 20:45:22 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/787763006/320001
5 years, 7 months ago (2015-05-08 02:08:26 UTC) #19
commit-bot: I haz the power
Committed patchset #17 (id:320001)
5 years, 7 months ago (2015-05-08 03:13:22 UTC) #20
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/ce2671bf523d439ed7db7a606e871ca0416ef7a6 Cr-Commit-Position: refs/heads/master@{#328911}
5 years, 7 months ago (2015-05-08 03:14:28 UTC) #21
Kunihiko Sakamoto
A revert of this CL (patchset #17 id:320001) has been created in https://codereview.chromium.org/1127313003/ by ksakamoto@chromium.org. ...
5 years, 7 months ago (2015-05-08 08:13:53 UTC) #22
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/787763006/340001
5 years, 7 months ago (2015-05-27 11:57:42 UTC) #25
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 7 months ago (2015-05-27 12:52:00 UTC) #27
mithro-old
I've tried really hard to reproduce the failures identified by Kunihiko Sakamoto but have not ...
5 years, 7 months ago (2015-05-27 13:04:28 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/787763006/340001
5 years, 7 months ago (2015-05-27 13:04:56 UTC) #30
commit-bot: I haz the power
Committed patchset #18 (id:340001)
5 years, 7 months ago (2015-05-27 13:08:11 UTC) #31
commit-bot: I haz the power
5 years, 7 months ago (2015-05-27 13:09:14 UTC) #32
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/0bdb49d47d685409d8f69dd0eb749a4f9e7bca6a
Cr-Commit-Position: refs/heads/master@{#331563}

Powered by Google App Engine
This is Rietveld 408576698