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

Issue 17587014: cc: Fix infinite BeginFrame that Scheduler causes. (Closed)

Created:
7 years, 6 months ago by dshwang
Modified:
7 years, 6 months ago
Reviewers:
danakj, nduca, brianderson
CC:
chromium-reviews, cc-bugs_chromium.org, ajuma
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

cc: Fix infinite BeginFrame that Scheduler causes. REGRESSION(r206955): Remove the chance to disable SetNeedsBeginFrame. r206955 made SetNeedsBeginFrame be called proactively, but the proactive condition mostly was true. This issue makes proactive_begin_frame_wanted condition more restrict. There are two changes. 1. Do not be proactive when invisible. 2. Do not be proactive when throttling frame production. This patch is mostly based on what Brian Anderson consults. BUG=253543 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=208662

Patch Set 1 #

Total comments: 2

Patch Set 2 : Preserve brian's intent as well as fix the bug. #

Total comments: 1

Patch Set 3 : Get together all conditions in ProactiveBeginFrameWantedByImplThread() #

Total comments: 1

Patch Set 4 : More improved #

Patch Set 5 : apply throttle condition. #

Total comments: 1

Patch Set 6 : Patch to land #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -7 lines) Patch
M cc/scheduler/scheduler.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_settings.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M cc/scheduler/scheduler_settings.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M cc/scheduler/scheduler_state_machine.cc View 1 2 3 4 5 1 chunk +6 lines, -5 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
dshwang
7 years, 6 months ago (2013-06-24 15:57:49 UTC) #1
dshwang
http://youtu.be/tg5r_WF2hCQ I recorded the video to clarify the urgent bug. It consumes CPU badly.
7 years, 6 months ago (2013-06-24 16:07:47 UTC) #2
danakj
+nduca
7 years, 6 months ago (2013-06-24 16:56:27 UTC) #3
nduca
brian can review this.
7 years, 6 months ago (2013-06-24 17:14:31 UTC) #4
brianderson
Thanks for the patch @dshwang. We'll need to figure out a fix that doesn't disable ...
7 years, 6 months ago (2013-06-24 18:04:48 UTC) #5
dshwang
On 2013/06/24 18:04:48, Brian Anderson wrote: Thank you for good explanation! > I'll let you ...
7 years, 6 months ago (2013-06-24 18:32:20 UTC) #6
dshwang
https://codereview.chromium.org/17587014/diff/8001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/17587014/diff/8001/cc/scheduler/scheduler.cc#newcode138 cc/scheduler/scheduler.cc:138: needs_begin_frame_to_draw || "state_machine_.inside_begin_frame() is true" means that COMMIT is ...
7 years, 6 months ago (2013-06-24 18:53:20 UTC) #7
brianderson
From your description, it does sound like the proactive request is the culprit. https://codereview.chromium.org/17587014/diff/11001/cc/scheduler/scheduler_state_machine.cc File ...
7 years, 6 months ago (2013-06-24 20:12:30 UTC) #8
dshwang
On 2013/06/24 20:12:30, Brian Anderson wrote: > From your description, it does sound like the ...
7 years, 6 months ago (2013-06-25 05:05:57 UTC) #9
brianderson
On 2013/06/25 05:05:57, dshwang wrote: > On 2013/06/24 20:12:30, Brian Anderson wrote: > > From ...
7 years, 6 months ago (2013-06-25 17:58:00 UTC) #10
dshwang
On 2013/06/25 17:58:00, Brian Anderson wrote: Hi, we both update coincidentally :) > > Your ...
7 years, 6 months ago (2013-06-25 18:10:08 UTC) #11
brianderson
When OutputSurface::InitializeBeginFrameEmulation is called, what is the value of throttle_frame_production on your machine? throttle_frame_production being ...
7 years, 6 months ago (2013-06-25 18:36:15 UTC) #12
brianderson
Note: Please invert true/false in my previous comments regarding throttle_frame_production.
7 years, 6 months ago (2013-06-25 18:39:01 UTC) #13
dshwang
On 2013/06/25 18:36:15, Brian Anderson wrote: > When OutputSurface::InitializeBeginFrameEmulation is called, what is the value ...
7 years, 6 months ago (2013-06-25 18:52:24 UTC) #14
dshwang
7 years, 6 months ago (2013-06-25 19:19:58 UTC) #15
brianderson
lgtm with one nit. https://codereview.chromium.org/17587014/diff/23001/cc/scheduler/scheduler_state_machine.cc File cc/scheduler/scheduler_state_machine.cc (right): https://codereview.chromium.org/17587014/diff/23001/cc/scheduler/scheduler_state_machine.cc#newcode367 cc/scheduler/scheduler_state_machine.cc:367: // Be not proactive when ...
7 years, 6 months ago (2013-06-25 19:38:39 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dongseong.hwang@intel.com/17587014/29001
7 years, 6 months ago (2013-06-26 05:58:36 UTC) #17
dshwang
On 2013/06/25 19:38:39, Brian Anderson wrote: > lgtm with one nit. thx for lgtm :)
7 years, 6 months ago (2013-06-26 05:58:41 UTC) #18
commit-bot: I haz the power
7 years, 6 months ago (2013-06-26 08:12:38 UTC) #19
Message was sent while issue was closed.
Change committed as 208662

Powered by Google App Engine
This is Rietveld 408576698