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

Issue 811523002: Added ability to dynamically toggle frame throttling in the scheduler. (Closed)

Created:
6 years ago by bajones
Modified:
5 years, 11 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, scheduler-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Added ability to dynamically toggle frame throttling in the scheduler. In order to allow Vsync to be toggled by dev tools we need to both set the swap interval to 0 on systems that support it and prevent the scheduler from throttling frames. BUG=437172 Committed: https://crrev.com/274110611d66427435521032dcbaceca8a502455 Cr-Commit-Position: refs/heads/master@{#310139}

Patch Set 1 #

Total comments: 4

Patch Set 2 : settings now only sets the initial throttled state. #

Total comments: 1

Patch Set 3 : Updating unit tests #

Patch Set 4 : Added tests for SetThrottleFrameProduction #

Total comments: 9

Patch Set 5 : Addressed Brian's feedback #

Total comments: 2

Patch Set 6 : A few more cleanups pointed out by Brian #

Unified diffs Side-by-side diffs Delta from patch set Stats (+228 lines, -42 lines) Patch
M cc/scheduler/scheduler.h View 1 2 3 4 4 chunks +7 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 chunks +35 lines, -14 lines 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 7 chunks +131 lines, -13 lines 0 comments Download
M cc/test/fake_proxy.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 2 chunks +2 lines, -4 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M cc/test/scheduler_test_common.cc View 1 2 2 chunks +14 lines, -11 lines 0 comments Download
M cc/trees/layer_tree_host.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/proxy.h View 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (4 generated)
bajones
This is an area of the code I'm not terribly familiar with, so please feel ...
6 years ago (2014-12-15 22:30:20 UTC) #2
enne (OOO)
https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc#newcode238 cc/scheduler/scheduler.cc:238: throttle_frame_production_ = settings_.throttle_frame_production && throttle; It's a little odd ...
6 years ago (2014-12-15 23:21:07 UTC) #4
bajones
On 2014/12/15 at 23:21:07, enne wrote: > https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc#newcode238 > cc/scheduler/scheduler.cc:238: throttle_frame_production_ = settings_.throttle_frame_production && throttle; ...
6 years ago (2014-12-15 23:37:58 UTC) #5
brianderson
https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc#newcode238 cc/scheduler/scheduler.cc:238: throttle_frame_production_ = settings_.throttle_frame_production && throttle; On 2014/12/15 23:21:07, enne ...
6 years ago (2014-12-16 22:36:42 UTC) #6
brianderson
https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/811523002/diff/1/cc/scheduler/scheduler.cc#newcode238 cc/scheduler/scheduler.cc:238: throttle_frame_production_ = settings_.throttle_frame_production && throttle; On 2014/12/15 23:21:07, enne ...
6 years ago (2014-12-16 22:36:42 UTC) #7
bajones
As Brian suggested, I've updated the CL so that scheduler_settings.unthrottle_frame_production (which is basically just "Was ...
6 years ago (2014-12-16 23:20:20 UTC) #8
brianderson
https://codereview.chromium.org/811523002/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/811523002/diff/20001/cc/scheduler/scheduler.cc#newcode90 cc/scheduler/scheduler.cc:90: throttle_frame_production_(scheduler_settings.throttle_frame_production), The meaning of throttle_frame_production is slightly differnent. Should ...
6 years ago (2014-12-16 23:38:02 UTC) #9
mithro-old
Adding myself as a reviewer so I don't forget about this patch.
6 years ago (2014-12-17 04:35:36 UTC) #11
mithro-old
On 2014/12/17 04:35:36, mithro wrote: > Adding myself as a reviewer so I don't forget ...
6 years ago (2014-12-17 09:13:05 UTC) #12
bajones
Added test with brianderson@'s help. (Thank you!) PTAL.
6 years ago (2014-12-19 00:01:20 UTC) #13
mithro-old
Generally looking pretty good. Great to see that this was such a small and simple ...
6 years ago (2014-12-19 04:11:19 UTC) #14
mithro-old
FYI too https://code.google.com/p/chromium/issues/detail?id=443185
6 years ago (2014-12-19 04:12:29 UTC) #15
bajones
On 2014/12/19 at 04:12:29, mithro wrote: > FYI too https://code.google.com/p/chromium/issues/detail?id=443185 Thanks for the follow up ...
6 years ago (2014-12-19 04:47:53 UTC) #16
mithro-old
On 2014/12/19 04:47:53, bajones wrote: > On 2014/12/19 at 04:12:29, mithro wrote: > > FYI ...
6 years ago (2014-12-19 04:48:48 UTC) #17
brianderson
https://codereview.chromium.org/811523002/diff/60001/cc/scheduler/scheduler_unittest.cc File cc/scheduler/scheduler_unittest.cc (right): https://codereview.chromium.org/811523002/diff/60001/cc/scheduler/scheduler_unittest.cc#newcode2261 cc/scheduler/scheduler_unittest.cc:2261: client.task_runner().RunPendingTasks(); // Run posted deadline. Comment should read "Run ...
6 years ago (2014-12-19 23:04:59 UTC) #18
bajones
Thanks for the feedback, Brian! Addressed your comments. On 2014/12/19 at 23:04:59, brianderson wrote: > ...
5 years, 11 months ago (2015-01-05 22:47:43 UTC) #19
brianderson
lgtm. Do you plan to land the browser-side logic as a separate patch? Coordinating the ...
5 years, 11 months ago (2015-01-05 23:50:46 UTC) #20
bajones
On 2015/01/05 at 23:50:46, brianderson wrote: > Do you plan to land the browser-side logic ...
5 years, 11 months ago (2015-01-06 18:33:24 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/811523002/100001
5 years, 11 months ago (2015-01-06 18:34:27 UTC) #23
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 11 months ago (2015-01-06 20:54:34 UTC) #24
commit-bot: I haz the power
5 years, 11 months ago (2015-01-06 20:56:12 UTC) #25
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/274110611d66427435521032dcbaceca8a502455
Cr-Commit-Position: refs/heads/master@{#310139}

Powered by Google App Engine
This is Rietveld 408576698