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

Issue 2150533004: cc: Send all begin frames using a PostTask. (Closed)

Created:
4 years, 5 months ago by sunnyps
Modified:
4 years, 5 months ago
CC:
chromium-reviews, rjkroege, Ian Vollick, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, scheduler-bugs_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@scheduler_unittest_no_deadline
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Send all begin frames using a PostTask. The scheduler retro frame logic turns the BeginFrame that's sent during DelayBasedBeginFrameSource::AddObserver to a PostTask. That's needed because AddObserver is called in Scheduler::ProcessScheduledActions and that method guards against reentrancy. Also includes cleanup of DelayBasedTimeSource usage. BUG=602485 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Patch Set 1 #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -273 lines) Patch
M cc/scheduler/begin_frame_source.h View 4 chunks +20 lines, -9 lines 1 comment Download
M cc/scheduler/begin_frame_source.cc View 6 chunks +77 lines, -35 lines 2 comments Download
M cc/scheduler/begin_frame_source_unittest.cc View 9 chunks +21 lines, -42 lines 0 comments Download
M cc/scheduler/delay_based_time_source.h View 5 chunks +11 lines, -14 lines 1 comment Download
M cc/scheduler/delay_based_time_source.cc View 4 chunks +12 lines, -13 lines 1 comment Download
M cc/scheduler/delay_based_time_source_unittest.cc View 25 chunks +72 lines, -54 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 2 chunks +5 lines, -7 lines 0 comments Download
M cc/surfaces/surface_display_output_surface_unittest.cc View 1 chunk +1 line, -2 lines 0 comments Download
M cc/test/pixel_test_delegating_output_surface.cc View 1 chunk +1 line, -2 lines 0 comments Download
M cc/test/scheduler_test_common.h View 1 chunk +0 lines, -34 lines 0 comments Download
M cc/test/scheduler_test_common.cc View 1 chunk +0 lines, -18 lines 0 comments Download
M cc/trees/proxy_impl.cc View 1 chunk +4 lines, -6 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 6 chunks +17 lines, -18 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 4 chunks +9 lines, -9 lines 0 comments Download
M content/browser/compositor/reflector_impl_unittest.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M services/ui/surfaces/display_compositor.cc View 1 chunk +1 line, -2 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 2 chunks +2 lines, -5 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 13 (4 generated)
sunnyps
PTAL danakj: Please RS content/browser and ui/compositor fsamuel: Please RS services/ui
4 years, 5 months ago (2016-07-13 20:47:23 UTC) #4
danakj
https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.h File cc/scheduler/begin_frame_source.h (right): https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.h#newcode143 cc/scheduler/begin_frame_source.h:143: // For testing. Can we avoid reintroducing for-testing constructors?
4 years, 5 months ago (2016-07-13 21:00:59 UTC) #5
danakj
> Also includes cleanup of DelayBasedTimeSource usage. I feel like you're undoing some stuff I ...
4 years, 5 months ago (2016-07-13 21:03:46 UTC) #6
brianderson
lgtm, pending Dana's comments and nits. https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.cc File cc/scheduler/begin_frame_source.cc (right): https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.cc#newcode105 cc/scheduler/begin_frame_source.cc:105: clock_ ? clock_->NowTicks() ...
4 years, 5 months ago (2016-07-13 21:14:49 UTC) #7
sunnyps
On 2016/07/13 21:03:46, danakj wrote: > > Also includes cleanup of DelayBasedTimeSource usage. > > ...
4 years, 5 months ago (2016-07-13 21:22:20 UTC) #8
sunnyps
https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.cc File cc/scheduler/begin_frame_source.cc (right): https://codereview.chromium.org/2150533004/diff/1/cc/scheduler/begin_frame_source.cc#newcode105 cc/scheduler/begin_frame_source.cc:105: clock_ ? clock_->NowTicks() : base::TimeTicks::Now(); On 2016/07/13 21:14:49, brianderson ...
4 years, 5 months ago (2016-07-13 21:24:53 UTC) #9
danakj
On 2016/07/13 21:22:20, sunnyps wrote: > On 2016/07/13 21:03:46, danakj wrote: > > > Also ...
4 years, 5 months ago (2016-07-13 22:10:12 UTC) #10
Fady Samuel
services/ui/surfaces lgtm
4 years, 5 months ago (2016-07-13 22:21:02 UTC) #11
sunnyps
4 years, 5 months ago (2016-07-15 23:50:16 UTC) #12
I decided to work around the PostTask issue in the scheduler instead of
modifying all begin frame sources. Closing this CL.

Powered by Google App Engine
This is Rietveld 408576698