| OLD | NEW |
| 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 from core import perf_benchmark | 5 from core import perf_benchmark |
| 6 | 6 |
| 7 from benchmarks import silk_flags | 7 from benchmarks import silk_flags |
| 8 from measurements import smoothness | 8 from measurements import smoothness |
| 9 import page_sets | 9 import page_sets |
| 10 import page_sets.key_silk_cases | 10 import page_sets.key_silk_cases |
| 11 from telemetry import benchmark | 11 from telemetry import benchmark |
| 12 | 12 |
| 13 | 13 |
| 14 class SmoothnessTop25(perf_benchmark.PerfBenchmark): | 14 class _Smoothness(perf_benchmark.PerfBenchmark): |
| 15 """Base class for smoothness-based benchmarks.""" |
| 16 |
| 17 # Certain smoothness pages do not perform gesture scrolling, in turn yielding |
| 18 # an empty first_gesture_scroll_update_latency result. Such empty results |
| 19 # should be ignored, allowing aggregate metrics for that page set. |
| 20 _PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST = [ |
| 21 'http://mobile-news.sandbox.google.com/news/pt0'] |
| 22 |
| 23 test = smoothness.Smoothness |
| 24 |
| 25 @classmethod |
| 26 def Name(cls): |
| 27 return 'smoothness' |
| 28 |
| 29 @classmethod |
| 30 def ValueCanBeAddedPredicate(cls, value, _): |
| 31 if (value.name == 'first_gesture_scroll_update_latency' and |
| 32 value.page.url in cls._PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST and |
| 33 value.values is None): |
| 34 return False |
| 35 return True |
| 36 |
| 37 |
| 38 class SmoothnessTop25(_Smoothness): |
| 15 """Measures rendering statistics while scrolling down the top 25 web pages. | 39 """Measures rendering statistics while scrolling down the top 25 web pages. |
| 16 | 40 |
| 17 http://www.chromium.org/developers/design-documents/rendering-benchmarks | 41 http://www.chromium.org/developers/design-documents/rendering-benchmarks |
| 18 """ | 42 """ |
| 19 test = smoothness.Smoothness | |
| 20 page_set = page_sets.Top25SmoothPageSet | 43 page_set = page_sets.Top25SmoothPageSet |
| 21 | 44 |
| 22 @classmethod | 45 @classmethod |
| 23 def Name(cls): | 46 def Name(cls): |
| 24 return 'smoothness.top_25_smooth' | 47 return 'smoothness.top_25_smooth' |
| 25 | 48 |
| 26 | 49 |
| 27 class SmoothnessToughFiltersCases(perf_benchmark.PerfBenchmark): | 50 class SmoothnessToughFiltersCases(_Smoothness): |
| 28 """Measures frame rate and a variety of other statistics. | 51 """Measures frame rate and a variety of other statistics. |
| 29 | 52 |
| 30 Uses a selection of pages making use of SVG and CSS Filter Effects. | 53 Uses a selection of pages making use of SVG and CSS Filter Effects. |
| 31 """ | 54 """ |
| 32 test = smoothness.Smoothness | |
| 33 page_set = page_sets.ToughFiltersCasesPageSet | 55 page_set = page_sets.ToughFiltersCasesPageSet |
| 34 | 56 |
| 35 @classmethod | 57 @classmethod |
| 36 def Name(cls): | 58 def Name(cls): |
| 37 return 'smoothness.tough_filters_cases' | 59 return 'smoothness.tough_filters_cases' |
| 38 | 60 |
| 39 | 61 |
| 40 class SmoothnessToughPathRenderingCases(perf_benchmark.PerfBenchmark): | 62 class SmoothnessToughPathRenderingCases(_Smoothness): |
| 41 """Tests a selection of pages with SVG and 2D Canvas paths. | 63 """Tests a selection of pages with SVG and 2D Canvas paths. |
| 42 | 64 |
| 43 Measures frame rate and a variety of other statistics. """ | 65 Measures frame rate and a variety of other statistics. """ |
| 44 test = smoothness.Smoothness | |
| 45 page_set = page_sets.ToughPathRenderingCasesPageSet | 66 page_set = page_sets.ToughPathRenderingCasesPageSet |
| 46 | 67 |
| 47 @classmethod | 68 @classmethod |
| 48 def Name(cls): | 69 def Name(cls): |
| 49 return 'smoothness.tough_path_rendering_cases' | 70 return 'smoothness.tough_path_rendering_cases' |
| 50 | 71 |
| 51 | 72 |
| 52 @benchmark.Disabled('android') # crbug.com/526901 | 73 @benchmark.Disabled('android') # crbug.com/526901 |
| 53 class SmoothnessToughCanvasCases(perf_benchmark.PerfBenchmark): | 74 class SmoothnessToughCanvasCases(_Smoothness): |
| 54 """Measures frame rate and a variety of other statistics. | 75 """Measures frame rate and a variety of other statistics. |
| 55 | 76 |
| 56 Uses a selection of pages making use of the 2D Canvas API. | 77 Uses a selection of pages making use of the 2D Canvas API. |
| 57 """ | 78 """ |
| 58 test = smoothness.Smoothness | |
| 59 page_set = page_sets.ToughCanvasCasesPageSet | 79 page_set = page_sets.ToughCanvasCasesPageSet |
| 60 | 80 |
| 61 @classmethod | 81 @classmethod |
| 62 def Name(cls): | 82 def Name(cls): |
| 63 return 'smoothness.tough_canvas_cases' | 83 return 'smoothness.tough_canvas_cases' |
| 64 | 84 |
| 65 | 85 |
| 66 @benchmark.Disabled('android') # crbug.com/373812 | 86 @benchmark.Disabled('android') # crbug.com/373812 |
| 67 class SmoothnessToughWebGLCases(perf_benchmark.PerfBenchmark): | 87 class SmoothnessToughWebGLCases(_Smoothness): |
| 68 test = smoothness.Smoothness | |
| 69 page_set = page_sets.ToughWebglCasesPageSet | 88 page_set = page_sets.ToughWebglCasesPageSet |
| 70 | 89 |
| 71 @classmethod | 90 @classmethod |
| 72 def Name(cls): | 91 def Name(cls): |
| 73 return 'smoothness.tough_webgl_cases' | 92 return 'smoothness.tough_webgl_cases' |
| 74 | 93 |
| 75 | 94 |
| 76 @benchmark.Enabled('android') | 95 @benchmark.Enabled('android') |
| 77 class SmoothnessMaps(perf_benchmark.PerfBenchmark): | 96 class SmoothnessMaps(perf_benchmark.PerfBenchmark): |
| 78 page_set = page_sets.MapsPageSet | 97 page_set = page_sets.MapsPageSet |
| 79 | 98 |
| 80 @classmethod | 99 @classmethod |
| 81 def Name(cls): | 100 def Name(cls): |
| 82 return 'smoothness.maps' | 101 return 'smoothness.maps' |
| 83 | 102 |
| 84 | 103 |
| 85 @benchmark.Disabled('android') | 104 @benchmark.Disabled('android') |
| 86 class SmoothnessKeyDesktopMoveCases(perf_benchmark.PerfBenchmark): | 105 class SmoothnessKeyDesktopMoveCases(_Smoothness): |
| 87 test = smoothness.Smoothness | |
| 88 page_set = page_sets.KeyDesktopMoveCasesPageSet | 106 page_set = page_sets.KeyDesktopMoveCasesPageSet |
| 89 | 107 |
| 90 @classmethod | 108 @classmethod |
| 91 def Name(cls): | 109 def Name(cls): |
| 92 return 'smoothness.key_desktop_move_cases' | 110 return 'smoothness.key_desktop_move_cases' |
| 93 | 111 |
| 94 | 112 |
| 95 @benchmark.Enabled('android') | 113 @benchmark.Enabled('android') |
| 96 class SmoothnessKeyMobileSites(perf_benchmark.PerfBenchmark): | 114 class SmoothnessKeyMobileSites(_Smoothness): |
| 97 """Measures rendering statistics while scrolling down the key mobile sites. | 115 """Measures rendering statistics while scrolling down the key mobile sites. |
| 98 | 116 |
| 99 http://www.chromium.org/developers/design-documents/rendering-benchmarks | 117 http://www.chromium.org/developers/design-documents/rendering-benchmarks |
| 100 """ | 118 """ |
| 101 test = smoothness.Smoothness | |
| 102 page_set = page_sets.KeyMobileSitesSmoothPageSet | 119 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 103 | 120 |
| 104 @classmethod | 121 @classmethod |
| 105 def Name(cls): | 122 def Name(cls): |
| 106 return 'smoothness.key_mobile_sites_smooth' | 123 return 'smoothness.key_mobile_sites_smooth' |
| 107 | 124 |
| 108 | 125 |
| 109 class SmoothnessToughAnimationCases(perf_benchmark.PerfBenchmark): | 126 class SmoothnessToughAnimationCases(_Smoothness): |
| 110 test = smoothness.SmoothnessWithRestart | 127 test = smoothness.SmoothnessWithRestart |
| 111 page_set = page_sets.ToughAnimationCasesPageSet | 128 page_set = page_sets.ToughAnimationCasesPageSet |
| 112 | 129 |
| 113 @classmethod | 130 @classmethod |
| 114 def Name(cls): | 131 def Name(cls): |
| 115 return 'smoothness.tough_animation_cases' | 132 return 'smoothness.tough_animation_cases' |
| 116 | 133 |
| 117 | 134 |
| 118 @benchmark.Enabled('android') | 135 @benchmark.Enabled('android') |
| 119 class SmoothnessKeySilkCases(perf_benchmark.PerfBenchmark): | 136 class SmoothnessKeySilkCases(_Smoothness): |
| 120 """Measures rendering statistics for the key silk cases without GPU | 137 """Measures rendering statistics for the key silk cases without GPU |
| 121 rasterization. | 138 rasterization. |
| 122 """ | 139 """ |
| 123 test = smoothness.Smoothness | |
| 124 page_set = page_sets.KeySilkCasesPageSet | 140 page_set = page_sets.KeySilkCasesPageSet |
| 125 | 141 |
| 126 @classmethod | 142 @classmethod |
| 127 def Name(cls): | 143 def Name(cls): |
| 128 return 'smoothness.key_silk_cases' | 144 return 'smoothness.key_silk_cases' |
| 129 | 145 |
| 130 def CreateStorySet(self, options): | 146 def CreateStorySet(self, options): |
| 131 stories = super(SmoothnessKeySilkCases, self).CreateStorySet(options) | 147 stories = super(SmoothnessKeySilkCases, self).CreateStorySet(options) |
| 132 # Page26 (befamous) is too noisy to be useful; crbug.com/461127 | 148 # Page26 (befamous) is too noisy to be useful; crbug.com/461127 |
| 133 to_remove = [story for story in stories | 149 to_remove = [story for story in stories |
| 134 if isinstance(story, page_sets.key_silk_cases.Page26)] | 150 if isinstance(story, page_sets.key_silk_cases.Page26)] |
| 135 for story in to_remove: | 151 for story in to_remove: |
| 136 stories.RemoveStory(story) | 152 stories.RemoveStory(story) |
| 137 return stories | 153 return stories |
| 138 | 154 |
| 139 | 155 |
| 140 @benchmark.Enabled('android') | 156 @benchmark.Enabled('android') |
| 141 class SmoothnessGpuRasterizationTop25(perf_benchmark.PerfBenchmark): | 157 class SmoothnessGpuRasterizationTop25(_Smoothness): |
| 142 """Measures rendering statistics for the top 25 with GPU rasterization. | 158 """Measures rendering statistics for the top 25 with GPU rasterization. |
| 143 """ | 159 """ |
| 144 tag = 'gpu_rasterization' | 160 tag = 'gpu_rasterization' |
| 145 test = smoothness.Smoothness | |
| 146 page_set = page_sets.Top25SmoothPageSet | 161 page_set = page_sets.Top25SmoothPageSet |
| 147 | 162 |
| 148 def SetExtraBrowserOptions(self, options): | 163 def SetExtraBrowserOptions(self, options): |
| 149 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 164 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 150 | 165 |
| 151 @classmethod | 166 @classmethod |
| 152 def Name(cls): | 167 def Name(cls): |
| 153 return 'smoothness.gpu_rasterization.top_25_smooth' | 168 return 'smoothness.gpu_rasterization.top_25_smooth' |
| 154 | 169 |
| 155 | 170 |
| 156 @benchmark.Enabled('android') | 171 @benchmark.Enabled('android') |
| 157 class SmoothnessGpuRasterizationKeyMobileSites(perf_benchmark.PerfBenchmark): | 172 class SmoothnessGpuRasterizationKeyMobileSites(_Smoothness): |
| 158 """Measures rendering statistics for the key mobile sites with GPU | 173 """Measures rendering statistics for the key mobile sites with GPU |
| 159 rasterization. | 174 rasterization. |
| 160 """ | 175 """ |
| 161 tag = 'gpu_rasterization' | 176 tag = 'gpu_rasterization' |
| 162 test = smoothness.Smoothness | |
| 163 page_set = page_sets.KeyMobileSitesSmoothPageSet | 177 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 164 | 178 |
| 165 def SetExtraBrowserOptions(self, options): | 179 def SetExtraBrowserOptions(self, options): |
| 166 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 180 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 167 | 181 |
| 168 @classmethod | 182 @classmethod |
| 169 def Name(cls): | 183 def Name(cls): |
| 170 return 'smoothness.gpu_rasterization.key_mobile_sites_smooth' | 184 return 'smoothness.gpu_rasterization.key_mobile_sites_smooth' |
| 171 | 185 |
| 172 | 186 |
| 173 class SmoothnessGpuRasterizationToughPathRenderingCases( | 187 class SmoothnessGpuRasterizationToughPathRenderingCases(_Smoothness): |
| 174 perf_benchmark.PerfBenchmark): | |
| 175 """Tests a selection of pages with SVG and 2D canvas paths with GPU | 188 """Tests a selection of pages with SVG and 2D canvas paths with GPU |
| 176 rasterization. | 189 rasterization. |
| 177 """ | 190 """ |
| 178 tag = 'gpu_rasterization' | 191 tag = 'gpu_rasterization' |
| 179 test = smoothness.Smoothness | |
| 180 page_set = page_sets.ToughPathRenderingCasesPageSet | 192 page_set = page_sets.ToughPathRenderingCasesPageSet |
| 181 | 193 |
| 182 def SetExtraBrowserOptions(self, options): | 194 def SetExtraBrowserOptions(self, options): |
| 183 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 195 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 184 | 196 |
| 185 @classmethod | 197 @classmethod |
| 186 def Name(cls): | 198 def Name(cls): |
| 187 return 'smoothness.gpu_rasterization.tough_path_rendering_cases' | 199 return 'smoothness.gpu_rasterization.tough_path_rendering_cases' |
| 188 | 200 |
| 189 | 201 |
| 190 class SmoothnessGpuRasterizationFiltersCases(perf_benchmark.PerfBenchmark): | 202 class SmoothnessGpuRasterizationFiltersCases(_Smoothness): |
| 191 """Tests a selection of pages with SVG and CSS filter effects with GPU | 203 """Tests a selection of pages with SVG and CSS filter effects with GPU |
| 192 rasterization. | 204 rasterization. |
| 193 """ | 205 """ |
| 194 tag = 'gpu_rasterization' | 206 tag = 'gpu_rasterization' |
| 195 test = smoothness.Smoothness | |
| 196 page_set = page_sets.ToughFiltersCasesPageSet | 207 page_set = page_sets.ToughFiltersCasesPageSet |
| 197 | 208 |
| 198 def SetExtraBrowserOptions(self, options): | 209 def SetExtraBrowserOptions(self, options): |
| 199 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 210 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 200 | 211 |
| 201 @classmethod | 212 @classmethod |
| 202 def Name(cls): | 213 def Name(cls): |
| 203 return 'smoothness.gpu_rasterization.tough_filters_cases' | 214 return 'smoothness.gpu_rasterization.tough_filters_cases' |
| 204 | 215 |
| 205 | 216 |
| 206 @benchmark.Enabled('android') | 217 @benchmark.Enabled('android') |
| 207 class SmoothnessSyncScrollKeyMobileSites(perf_benchmark.PerfBenchmark): | 218 class SmoothnessSyncScrollKeyMobileSites(_Smoothness): |
| 208 """Measures rendering statistics for the key mobile sites with synchronous | 219 """Measures rendering statistics for the key mobile sites with synchronous |
| 209 (main thread) scrolling. | 220 (main thread) scrolling. |
| 210 """ | 221 """ |
| 211 tag = 'sync_scroll' | 222 tag = 'sync_scroll' |
| 212 test = smoothness.Smoothness | |
| 213 page_set = page_sets.KeyMobileSitesSmoothPageSet | 223 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 214 | 224 |
| 215 def SetExtraBrowserOptions(self, options): | 225 def SetExtraBrowserOptions(self, options): |
| 216 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) | 226 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) |
| 217 | 227 |
| 218 @classmethod | 228 @classmethod |
| 219 def Name(cls): | 229 def Name(cls): |
| 220 return 'smoothness.sync_scroll.key_mobile_sites_smooth' | 230 return 'smoothness.sync_scroll.key_mobile_sites_smooth' |
| 221 | 231 |
| 222 | 232 |
| 223 @benchmark.Enabled('android') | 233 @benchmark.Enabled('android') |
| 224 class SmoothnessSimpleMobilePages(perf_benchmark.PerfBenchmark): | 234 class SmoothnessSimpleMobilePages(_Smoothness): |
| 225 """Measures rendering statistics for simple mobile sites page set. | 235 """Measures rendering statistics for simple mobile sites page set. |
| 226 """ | 236 """ |
| 227 test = smoothness.Smoothness | |
| 228 page_set = page_sets.SimpleMobileSitesPageSet | 237 page_set = page_sets.SimpleMobileSitesPageSet |
| 229 | 238 |
| 230 @classmethod | 239 @classmethod |
| 231 def Name(cls): | 240 def Name(cls): |
| 232 return 'smoothness.simple_mobile_sites' | 241 return 'smoothness.simple_mobile_sites' |
| 233 | 242 |
| 234 | 243 |
| 235 @benchmark.Enabled('android') | 244 @benchmark.Enabled('android') |
| 236 class SmoothnessFlingSimpleMobilePages(perf_benchmark.PerfBenchmark): | 245 class SmoothnessFlingSimpleMobilePages(_Smoothness): |
| 237 """Measures rendering statistics for flinging a simple mobile sites page set. | 246 """Measures rendering statistics for flinging a simple mobile sites page set. |
| 238 """ | 247 """ |
| 239 test = smoothness.Smoothness | |
| 240 page_set = page_sets.SimpleMobileSitesFlingPageSet | 248 page_set = page_sets.SimpleMobileSitesFlingPageSet |
| 241 | 249 |
| 242 def SetExtraBrowserOptions(self, options): | 250 def SetExtraBrowserOptions(self, options): |
| 243 # As the fling parameters cannot be analytically determined to not | 251 # As the fling parameters cannot be analytically determined to not |
| 244 # overscroll, disable overscrolling explicitly. Overscroll behavior is | 252 # overscroll, disable overscrolling explicitly. Overscroll behavior is |
| 245 # orthogonal to fling performance, and its activation is only more noise. | 253 # orthogonal to fling performance, and its activation is only more noise. |
| 246 options.AppendExtraBrowserArgs('--disable-overscroll-edge-effect') | 254 options.AppendExtraBrowserArgs('--disable-overscroll-edge-effect') |
| 247 | 255 |
| 248 @classmethod | 256 @classmethod |
| 249 def Name(cls): | 257 def Name(cls): |
| 250 return 'smoothness.fling.simple_mobile_sites' | 258 return 'smoothness.fling.simple_mobile_sites' |
| 251 | 259 |
| 252 | 260 |
| 253 @benchmark.Enabled('android', 'chromeos', 'mac') | 261 @benchmark.Enabled('android', 'chromeos', 'mac') |
| 254 class SmoothnessToughPinchZoomCases(perf_benchmark.PerfBenchmark): | 262 class SmoothnessToughPinchZoomCases(_Smoothness): |
| 255 """Measures rendering statistics for pinch-zooming into the tough pinch zoom | 263 """Measures rendering statistics for pinch-zooming into the tough pinch zoom |
| 256 cases. | 264 cases. |
| 257 """ | 265 """ |
| 258 test = smoothness.Smoothness | |
| 259 page_set = page_sets.ToughPinchZoomCasesPageSet | 266 page_set = page_sets.ToughPinchZoomCasesPageSet |
| 260 | 267 |
| 261 @classmethod | 268 @classmethod |
| 262 def Name(cls): | 269 def Name(cls): |
| 263 return 'smoothness.tough_pinch_zoom_cases' | 270 return 'smoothness.tough_pinch_zoom_cases' |
| 264 | 271 |
| 265 | 272 |
| 266 @benchmark.Enabled('android', 'chromeos') | 273 @benchmark.Enabled('android', 'chromeos') |
| 267 class SmoothnessToughScrollingWhileZoomedInCases(perf_benchmark.PerfBenchmark): | 274 class SmoothnessToughScrollingWhileZoomedInCases(_Smoothness): |
| 268 """Measures rendering statistics for pinch-zooming then diagonal scrolling""" | 275 """Measures rendering statistics for pinch-zooming then diagonal scrolling""" |
| 269 test = smoothness.Smoothness | |
| 270 page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet | 276 page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet |
| 271 | 277 |
| 272 @classmethod | 278 @classmethod |
| 273 def Name(cls): | 279 def Name(cls): |
| 274 return 'smoothness.tough_scrolling_while_zoomed_in_cases' | 280 return 'smoothness.tough_scrolling_while_zoomed_in_cases' |
| 275 | 281 |
| 276 | 282 |
| 277 @benchmark.Enabled('android') | 283 @benchmark.Enabled('android') |
| 278 class SmoothnessPolymer(perf_benchmark.PerfBenchmark): | 284 class SmoothnessPolymer(_Smoothness): |
| 279 """Measures rendering statistics for Polymer cases. | 285 """Measures rendering statistics for Polymer cases. |
| 280 """ | 286 """ |
| 281 test = smoothness.Smoothness | |
| 282 page_set = page_sets.PolymerPageSet | 287 page_set = page_sets.PolymerPageSet |
| 283 | 288 |
| 284 @classmethod | 289 @classmethod |
| 285 def Name(cls): | 290 def Name(cls): |
| 286 return 'smoothness.polymer' | 291 return 'smoothness.polymer' |
| 287 | 292 |
| 288 | 293 |
| 289 @benchmark.Enabled('android') | 294 @benchmark.Enabled('android') |
| 290 class SmoothnessGpuRasterizationPolymer(perf_benchmark.PerfBenchmark): | 295 class SmoothnessGpuRasterizationPolymer(_Smoothness): |
| 291 """Measures rendering statistics for the Polymer cases with GPU rasterization. | 296 """Measures rendering statistics for the Polymer cases with GPU rasterization. |
| 292 """ | 297 """ |
| 293 tag = 'gpu_rasterization' | 298 tag = 'gpu_rasterization' |
| 294 test = smoothness.Smoothness | |
| 295 page_set = page_sets.PolymerPageSet | 299 page_set = page_sets.PolymerPageSet |
| 296 | 300 |
| 297 def SetExtraBrowserOptions(self, options): | 301 def SetExtraBrowserOptions(self, options): |
| 298 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 302 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 299 | 303 |
| 300 @classmethod | 304 @classmethod |
| 301 def Name(cls): | 305 def Name(cls): |
| 302 return 'smoothness.gpu_rasterization.polymer' | 306 return 'smoothness.gpu_rasterization.polymer' |
| 303 | 307 |
| 304 | 308 |
| 305 class SmoothnessToughScrollingCases(perf_benchmark.PerfBenchmark): | 309 class SmoothnessToughScrollingCases(_Smoothness): |
| 306 test = smoothness.Smoothness | |
| 307 page_set = page_sets.ToughScrollingCasesPageSet | 310 page_set = page_sets.ToughScrollingCasesPageSet |
| 308 | 311 |
| 309 @classmethod | 312 @classmethod |
| 310 def Name(cls): | 313 def Name(cls): |
| 311 return 'smoothness.tough_scrolling_cases' | 314 return 'smoothness.tough_scrolling_cases' |
| 312 | 315 |
| 313 @benchmark.Disabled('android') # http://crbug.com/531593 | 316 @benchmark.Disabled('android') # http://crbug.com/531593 |
| 314 class SmoothnessToughImageDecodeCases(perf_benchmark.PerfBenchmark): | 317 class SmoothnessToughImageDecodeCases(_Smoothness): |
| 315 test = smoothness.Smoothness | |
| 316 page_set = page_sets.ToughImageDecodeCasesPageSet | 318 page_set = page_sets.ToughImageDecodeCasesPageSet |
| 317 | 319 |
| 318 @classmethod | 320 @classmethod |
| 319 def Name(cls): | 321 def Name(cls): |
| 320 return 'smoothness.tough_image_decode_cases' | 322 return 'smoothness.tough_image_decode_cases' |
| 321 | 323 |
| 322 @benchmark.Disabled('android') # http://crbug.com/513699 | 324 @benchmark.Disabled('android') # http://crbug.com/513699 |
| 323 class SmoothnessImageDecodingCases(perf_benchmark.PerfBenchmark): | 325 class SmoothnessImageDecodingCases(_Smoothness): |
| 324 """Measures decoding statistics for jpeg images. | 326 """Measures decoding statistics for jpeg images. |
| 325 """ | 327 """ |
| 326 test = smoothness.Smoothness | |
| 327 page_set = page_sets.ImageDecodingCasesPageSet | 328 page_set = page_sets.ImageDecodingCasesPageSet |
| 328 | 329 |
| 329 def SetExtraBrowserOptions(self, options): | 330 def SetExtraBrowserOptions(self, options): |
| 330 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 331 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 331 options.AppendExtraBrowserArgs('--disable-accelerated-jpeg-decoding') | 332 options.AppendExtraBrowserArgs('--disable-accelerated-jpeg-decoding') |
| 332 | 333 |
| 333 @classmethod | 334 @classmethod |
| 334 def Name(cls): | 335 def Name(cls): |
| 335 return 'smoothness.image_decoding_cases' | 336 return 'smoothness.image_decoding_cases' |
| 336 | 337 |
| 337 | 338 |
| 338 @benchmark.Disabled('android') # http://crbug.com/513699 | 339 @benchmark.Disabled('android') # http://crbug.com/513699 |
| 339 class SmoothnessGpuImageDecodingCases(perf_benchmark.PerfBenchmark): | 340 class SmoothnessGpuImageDecodingCases(_Smoothness): |
| 340 """Measures decoding statistics for jpeg images with GPU rasterization. | 341 """Measures decoding statistics for jpeg images with GPU rasterization. |
| 341 """ | 342 """ |
| 342 tag = 'gpu_rasterization_and_decoding' | 343 tag = 'gpu_rasterization_and_decoding' |
| 343 test = smoothness.Smoothness | |
| 344 page_set = page_sets.ImageDecodingCasesPageSet | 344 page_set = page_sets.ImageDecodingCasesPageSet |
| 345 | 345 |
| 346 def SetExtraBrowserOptions(self, options): | 346 def SetExtraBrowserOptions(self, options): |
| 347 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 347 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 348 # TODO(sugoi): Remove the following line once M41 goes stable | 348 # TODO(sugoi): Remove the following line once M41 goes stable |
| 349 options.AppendExtraBrowserArgs('--enable-accelerated-jpeg-decoding') | 349 options.AppendExtraBrowserArgs('--enable-accelerated-jpeg-decoding') |
| 350 | 350 |
| 351 @classmethod | 351 @classmethod |
| 352 def Name(cls): | 352 def Name(cls): |
| 353 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' | 353 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' |
| 354 | 354 |
| 355 | 355 |
| 356 @benchmark.Enabled('android') | 356 @benchmark.Enabled('android') |
| 357 class SmoothnessPathologicalMobileSites(perf_benchmark.PerfBenchmark): | 357 class SmoothnessPathologicalMobileSites(_Smoothness): |
| 358 """Measures task execution statistics while scrolling pathological sites. | 358 """Measures task execution statistics while scrolling pathological sites. |
| 359 """ | 359 """ |
| 360 test = smoothness.Smoothness | |
| 361 page_set = page_sets.PathologicalMobileSitesPageSet | 360 page_set = page_sets.PathologicalMobileSitesPageSet |
| 362 | 361 |
| 363 @classmethod | 362 @classmethod |
| 364 def Name(cls): | 363 def Name(cls): |
| 365 return 'smoothness.pathological_mobile_sites' | 364 return 'smoothness.pathological_mobile_sites' |
| 366 | 365 |
| 367 | 366 |
| 368 class SmoothnessToughAnimatedImageCases(perf_benchmark.PerfBenchmark): | 367 class SmoothnessToughAnimatedImageCases(_Smoothness): |
| 369 test = smoothness.Smoothness | |
| 370 page_set = page_sets.ToughAnimatedImageCasesPageSet | 368 page_set = page_sets.ToughAnimatedImageCasesPageSet |
| 371 | 369 |
| 372 @classmethod | 370 @classmethod |
| 373 def Name(cls): | 371 def Name(cls): |
| 374 return 'smoothness.tough_animated_image_cases' | 372 return 'smoothness.tough_animated_image_cases' |
| 375 | 373 |
| 376 | 374 |
| 377 @benchmark.Disabled('reference') # http://crbug.com/499489 | 375 @benchmark.Disabled('reference') # http://crbug.com/499489 |
| 378 class SmoothnessToughTextureUploadCases(perf_benchmark.PerfBenchmark): | 376 class SmoothnessToughTextureUploadCases(_Smoothness): |
| 379 test = smoothness.Smoothness | |
| 380 page_set = page_sets.ToughTextureUploadCasesPageSet | 377 page_set = page_sets.ToughTextureUploadCasesPageSet |
| 381 | 378 |
| 382 @classmethod | 379 @classmethod |
| 383 def Name(cls): | 380 def Name(cls): |
| 384 return 'smoothness.tough_texture_upload_cases' | 381 return 'smoothness.tough_texture_upload_cases' |
| 385 | 382 |
| 386 | 383 |
| 387 @benchmark.Disabled('reference') # http://crbug.com/496684 | 384 @benchmark.Disabled('reference') # http://crbug.com/496684 |
| 388 class SmoothnessToughAdCases(perf_benchmark.PerfBenchmark): | 385 class SmoothnessToughAdCases(_Smoothness): |
| 389 """Measures rendering statistics while displaying advertisements.""" | 386 """Measures rendering statistics while displaying advertisements.""" |
| 390 test = smoothness.Smoothness | |
| 391 page_set = page_sets.ToughAdCasesPageSet | 387 page_set = page_sets.ToughAdCasesPageSet |
| 392 | 388 |
| 393 @classmethod | 389 @classmethod |
| 394 def Name(cls): | 390 def Name(cls): |
| 395 return 'smoothness.tough_ad_cases' | 391 return 'smoothness.tough_ad_cases' |
| 396 | 392 |
| 397 | 393 |
| 398 # http://crbug.com/496684 (reference) | 394 # http://crbug.com/496684 (reference) |
| 399 # http://crbug.com/522619 (mac/win) | 395 # http://crbug.com/522619 (mac/win) |
| 400 @benchmark.Disabled('reference', 'win', 'mac') | 396 @benchmark.Disabled('reference', 'win', 'mac') |
| 401 class SmoothnessScrollingToughAdCases(perf_benchmark.PerfBenchmark): | 397 class SmoothnessScrollingToughAdCases(_Smoothness): |
| 402 """Measures rendering statistics while scrolling advertisements.""" | 398 """Measures rendering statistics while scrolling advertisements.""" |
| 403 test = smoothness.Smoothness | |
| 404 page_set = page_sets.ScrollingToughAdCasesPageSet | 399 page_set = page_sets.ScrollingToughAdCasesPageSet |
| 405 | 400 |
| 406 @classmethod | 401 @classmethod |
| 407 def Name(cls): | 402 def Name(cls): |
| 408 return 'smoothness.scrolling_tough_ad_cases' | 403 return 'smoothness.scrolling_tough_ad_cases' |
| 409 | 404 |
| 410 | 405 |
| 411 # http://crbug.com/496684 (reference) | 406 # http://crbug.com/496684 (reference) |
| 412 # http://crbug.com/522619 (mac/win) | 407 # http://crbug.com/522619 (mac/win) |
| 413 @benchmark.Disabled('reference', 'win', 'mac') | 408 @benchmark.Disabled('reference', 'win', 'mac') |
| 414 class SmoothnessBidirectionallyScrollingToughAdCases( | 409 class SmoothnessBidirectionallyScrollingToughAdCases(_Smoothness): |
| 415 perf_benchmark.PerfBenchmark): | |
| 416 """Measures rendering statistics while scrolling advertisements.""" | 410 """Measures rendering statistics while scrolling advertisements.""" |
| 417 test = smoothness.Smoothness | |
| 418 page_set = page_sets.BidirectionallyScrollingToughAdCasesPageSet | 411 page_set = page_sets.BidirectionallyScrollingToughAdCasesPageSet |
| 419 | 412 |
| 420 def SetExtraBrowserOptions(self, options): | 413 def SetExtraBrowserOptions(self, options): |
| 421 # Don't accidentally reload the page while scrolling. | 414 # Don't accidentally reload the page while scrolling. |
| 422 options.AppendExtraBrowserArgs('--disable-pull-to-refresh-effect') | 415 options.AppendExtraBrowserArgs('--disable-pull-to-refresh-effect') |
| 423 | 416 |
| 424 @classmethod | 417 @classmethod |
| 425 def Name(cls): | 418 def Name(cls): |
| 426 return 'smoothness.bidirectionally_scrolling_tough_ad_cases' | 419 return 'smoothness.bidirectionally_scrolling_tough_ad_cases' |
| 427 | 420 |
| 428 | 421 |
| 429 @benchmark.Disabled('reference') # http://crbug.com/496684 | 422 @benchmark.Disabled('reference') # http://crbug.com/496684 |
| 430 class SmoothnessToughWebGLAdCases(perf_benchmark.PerfBenchmark): | 423 class SmoothnessToughWebGLAdCases(_Smoothness): |
| 431 """Measures rendering statistics while scrolling advertisements.""" | 424 """Measures rendering statistics while scrolling advertisements.""" |
| 432 test = smoothness.Smoothness | |
| 433 page_set = page_sets.ToughWebglAdCasesPageSet | 425 page_set = page_sets.ToughWebglAdCasesPageSet |
| 434 | 426 |
| 435 @classmethod | 427 @classmethod |
| 436 def Name(cls): | 428 def Name(cls): |
| 437 return 'smoothness.tough_webgl_ad_cases' | 429 return 'smoothness.tough_webgl_ad_cases' |
| OLD | NEW |