| Index: cc/base/switches.cc
|
| diff --git a/cc/base/switches.cc b/cc/base/switches.cc
|
| index e60414584cbe2f3bb9c0e27ad45fcb4d7605f9b9..5e17d41046a8ce52b69376ae45c61830d6a08ce6 100644
|
| --- a/cc/base/switches.cc
|
| +++ b/cc/base/switches.cc
|
| @@ -33,6 +33,16 @@ const char kEnableLCDText[] = "enable-lcd-text";
|
| // Paint content on the compositor thread instead of the main thread.
|
| const char kEnableImplSidePainting[] = "enable-impl-side-painting";
|
|
|
| +// Disables the deadline scheduler.
|
| +// Overrides the kEnableDeadlineScheduling flag.
|
| +const char kDisableDeadlineScheduling[] = "disable-deadline-scheduling";
|
| +
|
| +// Deadline scheduling gives children compositors and the main thread an
|
| +// interval over which they can produce content instead of always consuming
|
| +// their input on the next BeginFrame. This allows a total pipeline latency
|
| +// of less than 1 vsync if their intervals are properly nested.
|
| +const char kEnableDeadlineScheduling[] = "enable-deadline-scheduling";
|
| +
|
| const char kEnableTopControlsPositionCalculation[] =
|
| "enable-top-controls-position-calculation";
|
|
|
| @@ -181,5 +191,20 @@ bool IsMapImageEnabled() {
|
| return false;
|
| }
|
|
|
| +bool IsDeadlineSchedulingEnabled() {
|
| + const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
| +
|
| + if (command_line.HasSwitch(cc::switches::kDisableDeadlineScheduling))
|
| + return false;
|
| + else if (command_line.HasSwitch(cc::switches::kEnableDeadlineScheduling))
|
| + return true;
|
| +
|
| +#if defined(OS_ANDROID)
|
| + return true;
|
| +#else
|
| + return false;
|
| +#endif
|
| +}
|
| +
|
| } // namespace switches
|
| } // namespace cc
|
|
|