| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "cc/switches.h" | |
| 6 | |
| 7 #include "base/command_line.h" | |
| 8 | |
| 9 namespace cc { | |
| 10 namespace switches { | |
| 11 | |
| 12 // On platforms where checkerboards are used, prefer background colors instead | |
| 13 // of checkerboards. | |
| 14 const char kBackgroundColorInsteadOfCheckerboard[] = | |
| 15 "background-color-instead-of-checkerboard"; | |
| 16 | |
| 17 const char kDisableThreadedAnimation[] = "disable-threaded-animation"; | |
| 18 | |
| 19 // Send a message for every frame from the impl thread to the parent compositor. | |
| 20 const char kEnableCompositorFrameMessage[] = "enable-compositor-frame-message"; | |
| 21 | |
| 22 // Paint content on the main thread instead of the compositor thread. | |
| 23 // Overrides the kEnableImplSidePainting flag. | |
| 24 const char kDisableImplSidePainting[] = "disable-impl-side-painting"; | |
| 25 | |
| 26 // Paint content on the compositor thread instead of the main thread. | |
| 27 const char kEnableImplSidePainting[] = "enable-impl-side-painting"; | |
| 28 | |
| 29 const char kEnablePartialSwap[] = "enable-partial-swap"; | |
| 30 | |
| 31 const char kEnablePerTilePainting[] = "enable-per-tile-painting"; | |
| 32 | |
| 33 // Try to finish display pipeline before vsync tick | |
| 34 const char kEnableRightAlignedScheduling[] = "enable-right-aligned-scheduling"; | |
| 35 | |
| 36 const char kEnableTopControlsPositionCalculation[] = | |
| 37 "enable-top-controls-position-calculation"; | |
| 38 | |
| 39 // Enable solid tile color, transparent tile, and cheapness prediction metrics. | |
| 40 const char kEnablePredictionBenchmarking[] = "enable-prediction-benchmarking"; | |
| 41 | |
| 42 // The height of the movable top controls. | |
| 43 const char kTopControlsHeight[] = "top-controls-height"; | |
| 44 | |
| 45 // Percentage of the top controls need to be hidden before they will auto hide. | |
| 46 const char kTopControlsHideThreshold[] = "top-controls-hide-threshold"; | |
| 47 | |
| 48 // Percentage of the top controls need to be shown before they will auto show. | |
| 49 const char kTopControlsShowThreshold[] = "top-controls-show-threshold"; | |
| 50 | |
| 51 // Number of worker threads used to rasterize content. | |
| 52 const char kNumRasterThreads[] = "num-raster-threads"; | |
| 53 | |
| 54 // Show rects in the HUD around layers whose properties have changed. | |
| 55 const char kShowPropertyChangedRects[] = "show-property-changed-rects"; | |
| 56 | |
| 57 // Show rects in the HUD around damage as it is recorded into each render | |
| 58 // surface. | |
| 59 const char kShowSurfaceDamageRects[] = "show-surface-damage-rects"; | |
| 60 | |
| 61 // Show rects in the HUD around the screen-space transformed bounds of every | |
| 62 // layer. | |
| 63 const char kShowScreenSpaceRects[] = "show-screenspace-rects"; | |
| 64 | |
| 65 // Show rects in the HUD around the screen-space transformed bounds of every | |
| 66 // layer's replica, when they have one. | |
| 67 const char kShowReplicaScreenSpaceRects[] = "show-replica-screenspace-rects"; | |
| 68 | |
| 69 // Show rects in the HUD wherever something is known to be drawn opaque and is | |
| 70 // considered occluding the pixels behind it. | |
| 71 const char kShowOccludingRects[] = "show-occluding-rects"; | |
| 72 | |
| 73 // Show rects in the HUD wherever something is not known to be drawn opaque and | |
| 74 // is not considered to be occluding the pixels behind it. | |
| 75 const char kShowNonOccludingRects[] = "show-nonoccluding-rects"; | |
| 76 | |
| 77 // Show metrics about overdraw in about:tracing recordings, such as the number | |
| 78 // of pixels culled, and the number of pixels drawn, for each frame. | |
| 79 const char kTraceOverdraw[] = "trace-overdraw"; | |
| 80 | |
| 81 // Logs all rendered frames. | |
| 82 const char kTraceAllRenderedFrames[] = "trace-all-rendered-frames"; | |
| 83 | |
| 84 // Re-rasters everything multiple times to simulate a much slower machine. | |
| 85 // Give a scale factor to cause raster to take that many times longer to | |
| 86 // complete, such as --slow-down-raster-scale-factor=25. | |
| 87 const char kSlowDownRasterScaleFactor[] = "slow-down-raster-scale-factor"; | |
| 88 | |
| 89 // Schedule rasterization jobs according to their estimated processing cost. | |
| 90 const char kUseCheapnessEstimator[] = "use-cheapness-estimator"; | |
| 91 | |
| 92 // Predict whether the tile will be either solid color or transparent. | |
| 93 const char kUseColorEstimator[] = "use-color-estimator"; | |
| 94 | |
| 95 // The scale factor for low resolution tile contents. | |
| 96 const char kLowResolutionContentsScaleFactor[] = | |
| 97 "low-resolution-contents-scale-factor"; | |
| 98 | |
| 99 // Causes the compositor to render to textures which are then sent to the parent | |
| 100 // through the texture mailbox mechanism. | |
| 101 // Requires --enable-compositor-frame-message. | |
| 102 const char kCompositeToMailbox[] = "composite-to-mailbox"; | |
| 103 | |
| 104 bool IsImplSidePaintingEnabled() { | |
| 105 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | |
| 106 | |
| 107 if (command_line.HasSwitch(cc::switches::kDisableImplSidePainting)) | |
| 108 return false; | |
| 109 else if (command_line.HasSwitch(cc::switches::kEnableImplSidePainting)) | |
| 110 return true; | |
| 111 | |
| 112 #if defined(OS_ANDROID) | |
| 113 return true; | |
| 114 #else | |
| 115 return false; | |
| 116 #endif | |
| 117 } | |
| 118 | |
| 119 } // namespace switches | |
| 120 } // namespace cc | |
| OLD | NEW |