| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef ExpensiveCanvasHeuristicParameters_h | 5 #ifndef ExpensiveCanvasHeuristicParameters_h |
| 6 #define ExpensiveCanvasHeuristicParameters_h | 6 #define ExpensiveCanvasHeuristicParameters_h |
| 7 | 7 |
| 8 namespace blink { | 8 namespace blink { |
| 9 | 9 |
| 10 namespace ExpensiveCanvasHeuristicParameters { | 10 namespace ExpensiveCanvasHeuristicParameters { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 // lists. Rationale: The allocation of large textures for canvas | 60 // lists. Rationale: The allocation of large textures for canvas |
| 61 // tends to starve the compositor, and increase the probability of | 61 // tends to starve the compositor, and increase the probability of |
| 62 // failure of subsequent allocations required for double buffering. | 62 // failure of subsequent allocations required for double buffering. |
| 63 PreferDisplayListOverGpuSizeThreshold = 4096 * 4096, | 63 PreferDisplayListOverGpuSizeThreshold = 4096 * 4096, |
| 64 | 64 |
| 65 // Disable Acceleration heuristic parameters | 65 // Disable Acceleration heuristic parameters |
| 66 //=========================================== | 66 //=========================================== |
| 67 | 67 |
| 68 GetImageDataForcesNoAcceleration = 1, | 68 GetImageDataForcesNoAcceleration = 1, |
| 69 | 69 |
| 70 // Whan a canvas is used as a source image, if its destination is | 70 // When a canvas is used as a source image, if its destination is |
| 71 // non-accelerated and the source canvas is accelerated, a readback | 71 // non-accelerated and the source canvas is accelerated, a readback |
| 72 // from the gpu is necessary. This option cause the source canvas to | 72 // from the gpu is necessary. This option causes the source canvas to |
| 73 // switch to non-accelerated when this situation is encountered to | 73 // switch to non-accelerated when this situation is encountered to |
| 74 // prevent future canvas to canvas draws from requiring a readback. | 74 // prevent future canvas-to-canvas draws from requiring a readback. |
| 75 DisableAccelerationToAvoidReadbacks = 1, | 75 DisableAccelerationToAvoidReadbacks = 1, |
| 76 | 76 |
| 77 // When drawing very large images to canvases, there is a point where | 77 // When drawing very large images to canvases, there is a point where |
| 78 // GPU acceleration becomes inefficient due to texture upload overhead, | 78 // GPU acceleration becomes inefficient due to texture upload overhead, |
| 79 // especially when the image is large enough that it is likely to | 79 // especially when the image is large enough that it is likely to |
| 80 // monopolize the texture cache, and when it is being downsized to the | 80 // monopolize the texture cache, and when it is being downsized to the |
| 81 // point that few of the upload texels are actually sampled. When both | 81 // point that few of the upload texels are actually sampled. When both |
| 82 // of these conditions are met, we disable acceleration. | 82 // of these conditions are met, we disable acceleration. |
| 83 DrawImageTextureUploadSoftSizeLimit = 4096 * 4096, | 83 DrawImageTextureUploadSoftSizeLimit = 4096 * 4096, |
| 84 DrawImageTextureUploadSoftSizeLimitScaleThreshold = 4, | 84 DrawImageTextureUploadSoftSizeLimitScaleThreshold = 4, |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 // before the rendering pipeline may be switched. Having this set | 183 // before the rendering pipeline may be switched. Having this set |
| 184 // to more than 1 increases the sample size of usage data before a | 184 // to more than 1 increases the sample size of usage data before a |
| 185 // decision is made, improving the accuracy of heuristics. | 185 // decision is made, improving the accuracy of heuristics. |
| 186 const int MinFramesBeforeSwitch = 3; | 186 const int MinFramesBeforeSwitch = 3; |
| 187 | 187 |
| 188 } // namespace ExpensiveCanvasHeuristicParameters | 188 } // namespace ExpensiveCanvasHeuristicParameters |
| 189 | 189 |
| 190 } // namespace blink | 190 } // namespace blink |
| 191 | 191 |
| 192 #endif | 192 #endif |
| OLD | NEW |