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

Side by Side Diff: cc/scheduler/scheduler_settings.cc

Issue 423773002: Unified BeginFrame scheduling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: WIP in mac and android Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/scheduler/scheduler_settings.h" 5 #include "cc/scheduler/scheduler_settings.h"
6 6
7 #include "base/debug/trace_event_argument.h" 7 #include "base/debug/trace_event_argument.h"
8 #include "cc/trees/layer_tree_settings.h" 8 #include "cc/trees/layer_tree_settings.h"
9 9
10 namespace cc { 10 namespace cc {
11 11
12 SchedulerSettings::SchedulerSettings() 12 SchedulerSettings::SchedulerSettings()
13 : begin_frame_scheduling_enabled(true), 13 : begin_frame_receiver(true),
14 begin_frame_publisher(false),
15 using_platform_vsync(false),
14 main_frame_before_draw_enabled(true), 16 main_frame_before_draw_enabled(true),
15 main_frame_before_activation_enabled(false), 17 main_frame_before_activation_enabled(false),
16 impl_side_painting(false), 18 impl_side_painting(false),
17 timeout_and_draw_when_animation_checkerboards(true), 19 timeout_and_draw_when_animation_checkerboards(true),
18 maximum_number_of_failed_draws_before_draw_is_forced_(3), 20 maximum_number_of_failed_draws_before_draw_is_forced_(3),
19 using_synchronous_renderer_compositor(false), 21 using_synchronous_renderer_compositor(false),
20 throttle_frame_production(true) { 22 throttle_frame_production(true) {
21 } 23 }
22 24
23 SchedulerSettings::SchedulerSettings(const LayerTreeSettings& settings) 25 SchedulerSettings::SchedulerSettings(const LayerTreeSettings& settings)
24 : begin_frame_scheduling_enabled(settings.begin_frame_scheduling_enabled), 26 : begin_frame_receiver(settings.begin_frame_receiver),
27 begin_frame_publisher(settings.begin_frame_publisher),
28 using_platform_vsync(settings.using_platform_vsync),
25 main_frame_before_draw_enabled(settings.main_frame_before_draw_enabled), 29 main_frame_before_draw_enabled(settings.main_frame_before_draw_enabled),
26 main_frame_before_activation_enabled( 30 main_frame_before_activation_enabled(
27 settings.main_frame_before_activation_enabled), 31 settings.main_frame_before_activation_enabled),
28 impl_side_painting(settings.impl_side_painting), 32 impl_side_painting(settings.impl_side_painting),
29 timeout_and_draw_when_animation_checkerboards( 33 timeout_and_draw_when_animation_checkerboards(
30 settings.timeout_and_draw_when_animation_checkerboards), 34 settings.timeout_and_draw_when_animation_checkerboards),
31 maximum_number_of_failed_draws_before_draw_is_forced_( 35 maximum_number_of_failed_draws_before_draw_is_forced_(
32 settings.maximum_number_of_failed_draws_before_draw_is_forced_), 36 settings.maximum_number_of_failed_draws_before_draw_is_forced_),
33 using_synchronous_renderer_compositor( 37 using_synchronous_renderer_compositor(
34 settings.using_synchronous_renderer_compositor), 38 settings.using_synchronous_renderer_compositor),
35 throttle_frame_production(settings.throttle_frame_production) { 39 throttle_frame_production(settings.throttle_frame_production) {
40 if (begin_frame_receiver)
41 DCHECK(!begin_frame_publisher);
36 } 42 }
37 43
38 SchedulerSettings::~SchedulerSettings() {} 44 SchedulerSettings::~SchedulerSettings() {}
39 45
40 scoped_refptr<base::debug::ConvertableToTraceFormat> 46 scoped_refptr<base::debug::ConvertableToTraceFormat>
41 SchedulerSettings::AsValue() const { 47 SchedulerSettings::AsValue() const {
42 scoped_refptr<base::debug::TracedValue> state = 48 scoped_refptr<base::debug::TracedValue> state =
43 new base::debug::TracedValue(); 49 new base::debug::TracedValue();
44 state->SetBoolean("begin_frame_scheduling_enabled", 50 state->SetBoolean("begin_frame_receiver",
45 begin_frame_scheduling_enabled); 51 begin_frame_receiver);
52 state->SetBoolean("begin_frame_publisher",
53 begin_frame_publisher);
54 state->SetBoolean("using_platform_vsync",
55 using_platform_vsync);
46 state->SetBoolean("main_frame_before_draw_enabled", 56 state->SetBoolean("main_frame_before_draw_enabled",
47 main_frame_before_draw_enabled); 57 main_frame_before_draw_enabled);
48 state->SetBoolean("main_frame_before_activation_enabled", 58 state->SetBoolean("main_frame_before_activation_enabled",
49 main_frame_before_activation_enabled); 59 main_frame_before_activation_enabled);
50 state->SetBoolean("impl_side_painting", impl_side_painting); 60 state->SetBoolean("impl_side_painting", impl_side_painting);
51 state->SetBoolean("timeout_and_draw_when_animation_checkerboards", 61 state->SetBoolean("timeout_and_draw_when_animation_checkerboards",
52 timeout_and_draw_when_animation_checkerboards); 62 timeout_and_draw_when_animation_checkerboards);
53 state->SetInteger("maximum_number_of_failed_draws_before_draw_is_forced_", 63 state->SetInteger("maximum_number_of_failed_draws_before_draw_is_forced_",
54 maximum_number_of_failed_draws_before_draw_is_forced_); 64 maximum_number_of_failed_draws_before_draw_is_forced_);
55 state->SetBoolean("using_synchronous_renderer_compositor", 65 state->SetBoolean("using_synchronous_renderer_compositor",
56 using_synchronous_renderer_compositor); 66 using_synchronous_renderer_compositor);
57 state->SetBoolean("throttle_frame_production", throttle_frame_production); 67 state->SetBoolean("throttle_frame_production", throttle_frame_production);
58 return state; 68 return state;
59 } 69 }
60 70
61 } // namespace cc 71 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698