| Index: cc/base/switches.cc
|
| diff --git a/cc/base/switches.cc b/cc/base/switches.cc
|
| index 2dac58b691147a9b073b87274984fad8c5f9099d..a4069c034874b4ef2fda964e29d3d96acc4abcd4 100644
|
| --- a/cc/base/switches.cc
|
| +++ b/cc/base/switches.cc
|
| @@ -27,6 +27,16 @@ const char kDisableImplSidePainting[] = "disable-impl-side-painting";
|
| // Paint content on the compositor thread instead of the main thread.
|
| const char kEnableImplSidePainting[] = "enable-impl-side-painting";
|
|
|
| +// Disables the deadline scheduler.
|
| +// Overrides the kDisableDeadlineShceduling 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";
|
|
|
| @@ -146,5 +156,20 @@ bool IsImplSidePaintingEnabled() {
|
| #endif
|
| }
|
|
|
| +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
|
|
|