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

Issue 199523002: cc: Throttle swaps in Scheduler instead of OutputSurface (Closed)

Created:
6 years, 9 months ago by brianderson
Modified:
6 years, 8 months ago
Reviewers:
danakj, Sami
CC:
chromium-reviews, Ian Vollick, sievers+watch_chromium.org, jbauman+watch_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, danakj+watch_chromium.org, boliu, piman, enne (OOO)
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

cc: Throttle swaps in Scheduler instead of OutputSurface This doesn't represent a functional change and only moves the swap throttling logic from the OutputSurface to the Scheduler. BUG=311213 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=264732

Patch Set 1 #

Total comments: 6

Patch Set 2 : WIP: pulling FRC out of OS #

Total comments: 3

Patch Set 3 : WIP: Move retroactive BF logic to scheduler #

Patch Set 4 : try again #

Patch Set 5 : rebase and don't pull so much logic from OutputSurface yet #

Patch Set 6 : rebase; don't swap throttle BeginImplFrame #

Patch Set 7 : rebase #

Total comments: 2

Patch Set 8 : rebase; DidSwapBuffersComplete #

Total comments: 13

Patch Set 9 : dana's comments #

Total comments: 5

Patch Set 10 : rebase #

Patch Set 11 : remove is_lost_ and SwapAck DCHECK; DCHECK no actions after swap #

Patch Set 12 : remove unnecessary whitespace delta #

Total comments: 1

Patch Set 13 : FRC shouldn't need CC_EXPORT #

Patch Set 14 : Actually, unittests need CC_EXPORT. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+312 lines, -478 lines) Patch
M cc/layers/texture_layer_unittest.cc View 1 2 3 4 5 6 7 2 chunks +0 lines, -2 lines 0 comments Download
M cc/output/output_surface.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -7 lines 0 comments Download
M cc/output/output_surface.cc View 1 2 3 4 5 6 7 8 9 10 8 chunks +38 lines, -58 lines 0 comments Download
M cc/output/output_surface_client.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M cc/output/output_surface_unittest.cc View 1 2 3 4 6 chunks +6 lines, -55 lines 0 comments Download
M cc/scheduler/draw_swap_readback_result.h View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -4 lines 0 comments Download
M cc/scheduler/frame_rate_controller.h View 2 3 4 13 3 chunks +5 lines, -36 lines 0 comments Download
M cc/scheduler/frame_rate_controller.cc View 2 3 4 3 chunks +12 lines, -114 lines 0 comments Download
M cc/scheduler/frame_rate_controller_unittest.cc View 2 3 4 3 chunks +2 lines, -151 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +19 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine.h View 1 2 3 4 5 6 7 8 3 chunks +14 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 6 7 8 9 10 11 chunks +39 lines, -8 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 12 chunks +119 lines, -11 lines 0 comments Download
M cc/scheduler/time_source.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_output_surface_client.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M cc/test/scheduler_test_common.h View 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 4 chunks +8 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_delegated.cc View 1 2 3 4 5 6 7 2 chunks +0 lines, -2 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -2 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 8 9 2 chunks +13 lines, -4 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
brianderson
WIP https://codereview.chromium.org/199523002/diff/1/cc/output/output_surface.h File cc/output/output_surface.h (left): https://codereview.chromium.org/199523002/diff/1/cc/output/output_surface.h#oldcode107 cc/output/output_surface.h:107: void InitializeBeginImplFrameEmulation( In the interest of simplifying OutputSurface, ...
6 years, 9 months ago (2014-03-13 21:11:52 UTC) #1
Sami
I like where this is going. Thanks for the cleanup. https://codereview.chromium.org/199523002/diff/1/cc/scheduler/frame_rate_controller.h File cc/scheduler/frame_rate_controller.h (right): https://codereview.chromium.org/199523002/diff/1/cc/scheduler/frame_rate_controller.h#newcode28 ...
6 years, 9 months ago (2014-03-14 15:34:58 UTC) #2
danakj
I see WIP in a few places here, and some good feedback from Sami already. ...
6 years, 9 months ago (2014-03-18 19:54:44 UTC) #3
brianderson
Don't worry about anymore reviews. I'm ripping out more logic from OutputSurface while still keeping ...
6 years, 9 months ago (2014-03-19 10:19:51 UTC) #4
brianderson
Hmm, this patch is getting larger than I expected so I might split it up ...
6 years, 9 months ago (2014-03-20 16:57:43 UTC) #5
danakj
Btw thank you very much for working to move stuff out of OutputSurface implementation :) ...
6 years, 9 months ago (2014-03-20 16:59:53 UTC) #6
brianderson
Now depends on: https://codereview.chromium.org/218633010 https://codereview.chromium.org/222413004 https://codereview.chromium.org/222003007 https://codereview.chromium.org/222743004
6 years, 8 months ago (2014-04-03 00:46:30 UTC) #7
Sami
Sorry for the delay in getting to this. lgtm. https://codereview.chromium.org/199523002/diff/120001/cc/scheduler/scheduler_state_machine.h File cc/scheduler/scheduler_state_machine.h (right): https://codereview.chromium.org/199523002/diff/120001/cc/scheduler/scheduler_state_machine.h#newcode184 cc/scheduler/scheduler_state_machine.h:184: ...
6 years, 8 months ago (2014-04-08 13:42:18 UTC) #8
danakj
Looks awesome, seems so much simpler to do the same things :) https://codereview.chromium.org/199523002/diff/140001/cc/output/output_surface.cc File cc/output/output_surface.cc ...
6 years, 8 months ago (2014-04-11 15:12:28 UTC) #9
brianderson
https://codereview.chromium.org/199523002/diff/140001/cc/output/output_surface.cc File cc/output/output_surface.cc (right): https://codereview.chromium.org/199523002/diff/140001/cc/output/output_surface.cc#newcode203 cc/output/output_surface.cc:203: if (is_lost_) On 2014/04/11 15:12:28, danakj wrote: > Why ...
6 years, 8 months ago (2014-04-11 20:49:40 UTC) #10
brianderson
https://codereview.chromium.org/199523002/diff/160001/cc/test/fake_output_surface.cc File cc/test/fake_output_surface.cc (right): https://codereview.chromium.org/199523002/diff/160001/cc/test/fake_output_surface.cc#newcode69 cc/test/fake_output_surface.cc:69: if (is_lost_) I decided to DCHECK for all other ...
6 years, 8 months ago (2014-04-12 00:09:58 UTC) #11
danakj
https://codereview.chromium.org/199523002/diff/140001/cc/output/output_surface.cc File cc/output/output_surface.cc (right): https://codereview.chromium.org/199523002/diff/140001/cc/output/output_surface.cc#newcode203 cc/output/output_surface.cc:203: if (is_lost_) On 2014/04/11 20:49:40, brianderson wrote: > On ...
6 years, 8 months ago (2014-04-14 18:14:50 UTC) #12
brianderson
https://codereview.chromium.org/199523002/diff/160001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/199523002/diff/160001/cc/scheduler/scheduler.cc#newcode102 cc/scheduler/scheduler.cc:102: // swapping should not trigger any new actions. On ...
6 years, 8 months ago (2014-04-16 22:41:53 UTC) #13
brianderson
ptal. Dana and Antoine: thanks for feedback regarding is_lost_. I went ahead and removed it ...
6 years, 8 months ago (2014-04-17 00:04:10 UTC) #14
danakj
LGTM https://codereview.chromium.org/199523002/diff/220001/cc/trees/thread_proxy.cc File cc/trees/thread_proxy.cc (right): https://codereview.chromium.org/199523002/diff/220001/cc/trees/thread_proxy.cc#newcode436 cc/trees/thread_proxy.cc:436: void ThreadProxy::SetMaxSwapsPendingOnImplThread(int max) { +enne FYI: STP will ...
6 years, 8 months ago (2014-04-17 15:05:39 UTC) #15
brianderson
The CQ bit was checked by brianderson@chromium.org
6 years, 8 months ago (2014-04-17 18:47:05 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/brianderson@chromium.org/199523002/220001
6 years, 8 months ago (2014-04-17 18:47:19 UTC) #17
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-17 20:19:11 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on win_chromium_compile_dbg
6 years, 8 months ago (2014-04-17 20:19:11 UTC) #19
brianderson
The CQ bit was checked by brianderson@chromium.org
6 years, 8 months ago (2014-04-17 23:53:55 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/brianderson@chromium.org/199523002/260001
6 years, 8 months ago (2014-04-17 23:54:27 UTC) #21
commit-bot: I haz the power
6 years, 8 months ago (2014-04-18 05:06:19 UTC) #22
Message was sent while issue was closed.
Change committed as 264732

Powered by Google App Engine
This is Rietveld 408576698