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

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: 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),
14 main_frame_before_draw_enabled(true), 15 main_frame_before_draw_enabled(true),
15 main_frame_before_activation_enabled(false), 16 main_frame_before_activation_enabled(false),
16 impl_side_painting(false), 17 impl_side_painting(false),
17 timeout_and_draw_when_animation_checkerboards(true), 18 timeout_and_draw_when_animation_checkerboards(true),
18 maximum_number_of_failed_draws_before_draw_is_forced_(3), 19 maximum_number_of_failed_draws_before_draw_is_forced_(3),
19 using_synchronous_renderer_compositor(false), 20 using_synchronous_renderer_compositor(false),
20 throttle_frame_production(true) { 21 throttle_frame_production(true) {
21 } 22 }
22 23
23 SchedulerSettings::SchedulerSettings(const LayerTreeSettings& settings) 24 SchedulerSettings::SchedulerSettings(const LayerTreeSettings& settings)
24 : begin_frame_scheduling_enabled(settings.begin_frame_scheduling_enabled), 25 : begin_frame_receiver(settings.begin_frame_receiver),
26 begin_frame_publisher(settings.begin_frame_publisher),
25 main_frame_before_draw_enabled(settings.main_frame_before_draw_enabled), 27 main_frame_before_draw_enabled(settings.main_frame_before_draw_enabled),
26 main_frame_before_activation_enabled( 28 main_frame_before_activation_enabled(
27 settings.main_frame_before_activation_enabled), 29 settings.main_frame_before_activation_enabled),
28 impl_side_painting(settings.impl_side_painting), 30 impl_side_painting(settings.impl_side_painting),
29 timeout_and_draw_when_animation_checkerboards( 31 timeout_and_draw_when_animation_checkerboards(
30 settings.timeout_and_draw_when_animation_checkerboards), 32 settings.timeout_and_draw_when_animation_checkerboards),
31 maximum_number_of_failed_draws_before_draw_is_forced_( 33 maximum_number_of_failed_draws_before_draw_is_forced_(
32 settings.maximum_number_of_failed_draws_before_draw_is_forced_), 34 settings.maximum_number_of_failed_draws_before_draw_is_forced_),
33 using_synchronous_renderer_compositor( 35 using_synchronous_renderer_compositor(
34 settings.using_synchronous_renderer_compositor), 36 settings.using_synchronous_renderer_compositor),
35 throttle_frame_production(settings.throttle_frame_production) { 37 throttle_frame_production(settings.throttle_frame_production) {
38 #if !defined(OS_ANDROID) && !defined(OS_MACOSX)
piman 2014/09/04 20:56:38 Please no #ifdef like this. It prevents testing.
39 if (begin_frame_receiver)
40 DCHECK(!begin_frame_publisher);
brianderson 2014/09/04 18:45:46 Let's not worry about this DCHECK since it is arti
41 #endif
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);
46 state->SetBoolean("main_frame_before_draw_enabled", 54 state->SetBoolean("main_frame_before_draw_enabled",
47 main_frame_before_draw_enabled); 55 main_frame_before_draw_enabled);
48 state->SetBoolean("main_frame_before_activation_enabled", 56 state->SetBoolean("main_frame_before_activation_enabled",
49 main_frame_before_activation_enabled); 57 main_frame_before_activation_enabled);
50 state->SetBoolean("impl_side_painting", impl_side_painting); 58 state->SetBoolean("impl_side_painting", impl_side_painting);
51 state->SetBoolean("timeout_and_draw_when_animation_checkerboards", 59 state->SetBoolean("timeout_and_draw_when_animation_checkerboards",
52 timeout_and_draw_when_animation_checkerboards); 60 timeout_and_draw_when_animation_checkerboards);
53 state->SetInteger("maximum_number_of_failed_draws_before_draw_is_forced_", 61 state->SetInteger("maximum_number_of_failed_draws_before_draw_is_forced_",
54 maximum_number_of_failed_draws_before_draw_is_forced_); 62 maximum_number_of_failed_draws_before_draw_is_forced_);
55 state->SetBoolean("using_synchronous_renderer_compositor", 63 state->SetBoolean("using_synchronous_renderer_compositor",
56 using_synchronous_renderer_compositor); 64 using_synchronous_renderer_compositor);
57 state->SetBoolean("throttle_frame_production", throttle_frame_production); 65 state->SetBoolean("throttle_frame_production", throttle_frame_production);
58 return state; 66 return state;
59 } 67 }
60 68
61 } // namespace cc 69 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698