| 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 telemetry import benchmark | 5 from telemetry import benchmark |
| 6 | 6 |
| 7 from benchmarks import silk_flags | 7 from benchmarks import silk_flags |
| 8 from benchmarks import webgl_expectations | 8 from benchmarks import webgl_expectations |
| 9 from measurements import smoothness | 9 from measurements import smoothness |
| 10 import page_sets | 10 import page_sets |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 page_set = page_sets.MapsPageSet | 70 page_set = page_sets.MapsPageSet |
| 71 | 71 |
| 72 @classmethod | 72 @classmethod |
| 73 def CreateExpectations(cls): | 73 def CreateExpectations(cls): |
| 74 return webgl_expectations.MapsExpectations() | 74 return webgl_expectations.MapsExpectations() |
| 75 | 75 |
| 76 @classmethod | 76 @classmethod |
| 77 def Name(cls): | 77 def Name(cls): |
| 78 return 'smoothness.maps' | 78 return 'smoothness.maps' |
| 79 | 79 |
| 80 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 81 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 82 | |
| 83 | 80 |
| 84 @benchmark.Disabled('android') | 81 @benchmark.Disabled('android') |
| 85 class SmoothnessKeyDesktopMoveCases(benchmark.Benchmark): | 82 class SmoothnessKeyDesktopMoveCases(benchmark.Benchmark): |
| 86 test = smoothness.Smoothness | 83 test = smoothness.Smoothness |
| 87 page_set = page_sets.KeyDesktopMoveCasesPageSet | 84 page_set = page_sets.KeyDesktopMoveCasesPageSet |
| 88 | 85 |
| 89 @classmethod | 86 @classmethod |
| 90 def Name(cls): | 87 def Name(cls): |
| 91 return 'smoothness.key_desktop_move_cases' | 88 return 'smoothness.key_desktop_move_cases' |
| 92 | 89 |
| 93 | 90 |
| 94 @benchmark.Enabled('android') | 91 @benchmark.Enabled('android') |
| 95 class SmoothnessKeyMobileSites(benchmark.Benchmark): | 92 class SmoothnessKeyMobileSites(benchmark.Benchmark): |
| 96 """Measures rendering statistics while scrolling down the key mobile sites. | 93 """Measures rendering statistics while scrolling down the key mobile sites. |
| 97 | 94 |
| 98 http://www.chromium.org/developers/design-documents/rendering-benchmarks | 95 http://www.chromium.org/developers/design-documents/rendering-benchmarks |
| 99 """ | 96 """ |
| 97 test = smoothness.Smoothness |
| 100 page_set = page_sets.KeyMobileSitesSmoothPageSet | 98 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 101 | 99 |
| 102 @classmethod | 100 @classmethod |
| 103 def Name(cls): | 101 def Name(cls): |
| 104 return 'smoothness.key_mobile_sites_smooth' | 102 return 'smoothness.key_mobile_sites_smooth' |
| 105 | 103 |
| 106 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 107 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 108 | |
| 109 | 104 |
| 110 class SmoothnessToughAnimationCases(benchmark.Benchmark): | 105 class SmoothnessToughAnimationCases(benchmark.Benchmark): |
| 111 test = smoothness.Smoothness | 106 test = smoothness.Smoothness |
| 112 page_set = page_sets.ToughAnimationCasesPageSet | 107 page_set = page_sets.ToughAnimationCasesPageSet |
| 113 | 108 |
| 114 @classmethod | 109 @classmethod |
| 115 def Name(cls): | 110 def Name(cls): |
| 116 return 'smoothness.tough_animation_cases' | 111 return 'smoothness.tough_animation_cases' |
| 117 | 112 |
| 118 | 113 |
| 119 @benchmark.Enabled('android') | 114 @benchmark.Enabled('android') |
| 120 class SmoothnessKeySilkCases(benchmark.Benchmark): | 115 class SmoothnessKeySilkCases(benchmark.Benchmark): |
| 121 """Measures rendering statistics for the key silk cases without GPU | 116 """Measures rendering statistics for the key silk cases without GPU |
| 122 rasterization. | 117 rasterization. |
| 123 """ | 118 """ |
| 119 test = smoothness.Smoothness |
| 124 page_set = page_sets.KeySilkCasesPageSet | 120 page_set = page_sets.KeySilkCasesPageSet |
| 125 | 121 |
| 126 @classmethod | 122 @classmethod |
| 127 def Name(cls): | 123 def Name(cls): |
| 128 return 'smoothness.key_silk_cases' | 124 return 'smoothness.key_silk_cases' |
| 129 | 125 |
| 130 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 131 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 132 | |
| 133 | 126 |
| 134 @benchmark.Enabled('android') | 127 @benchmark.Enabled('android') |
| 135 class SmoothnessGpuRasterizationTop25(benchmark.Benchmark): | 128 class SmoothnessGpuRasterizationTop25(benchmark.Benchmark): |
| 136 """Measures rendering statistics for the top 25 with GPU rasterization. | 129 """Measures rendering statistics for the top 25 with GPU rasterization. |
| 137 """ | 130 """ |
| 138 tag = 'gpu_rasterization' | 131 tag = 'gpu_rasterization' |
| 132 test = smoothness.Smoothness |
| 139 page_set = page_sets.Top25SmoothPageSet | 133 page_set = page_sets.Top25SmoothPageSet |
| 140 | 134 |
| 141 def CustomizeBrowserOptions(self, options): | 135 def CustomizeBrowserOptions(self, options): |
| 142 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 136 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 143 | 137 |
| 144 @classmethod | 138 @classmethod |
| 145 def Name(cls): | 139 def Name(cls): |
| 146 return 'smoothness.gpu_rasterization.top_25_smooth' | 140 return 'smoothness.gpu_rasterization.top_25_smooth' |
| 147 | 141 |
| 148 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 149 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 150 | |
| 151 | 142 |
| 152 @benchmark.Enabled('android') | 143 @benchmark.Enabled('android') |
| 153 class SmoothnessGpuRasterizationKeyMobileSites(benchmark.Benchmark): | 144 class SmoothnessGpuRasterizationKeyMobileSites(benchmark.Benchmark): |
| 154 """Measures rendering statistics for the key mobile sites with GPU | 145 """Measures rendering statistics for the key mobile sites with GPU |
| 155 rasterization. | 146 rasterization. |
| 156 """ | 147 """ |
| 157 tag = 'gpu_rasterization' | 148 tag = 'gpu_rasterization' |
| 149 test = smoothness.Smoothness |
| 158 page_set = page_sets.KeyMobileSitesSmoothPageSet | 150 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 159 | 151 |
| 160 def CustomizeBrowserOptions(self, options): | 152 def CustomizeBrowserOptions(self, options): |
| 161 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 153 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 162 | 154 |
| 163 @classmethod | 155 @classmethod |
| 164 def Name(cls): | 156 def Name(cls): |
| 165 return 'smoothness.gpu_rasterization.key_mobile_sites_smooth' | 157 return 'smoothness.gpu_rasterization.key_mobile_sites_smooth' |
| 166 | 158 |
| 167 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 168 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 169 | |
| 170 | 159 |
| 171 @benchmark.Enabled('android') | 160 @benchmark.Enabled('android') |
| 172 class SmoothnessSyncScrollKeyMobileSites(benchmark.Benchmark): | 161 class SmoothnessSyncScrollKeyMobileSites(benchmark.Benchmark): |
| 173 """Measures rendering statistics for the key mobile sites with synchronous | 162 """Measures rendering statistics for the key mobile sites with synchronous |
| 174 (main thread) scrolling. | 163 (main thread) scrolling. |
| 175 """ | 164 """ |
| 176 tag = 'sync_scroll' | 165 tag = 'sync_scroll' |
| 166 test = smoothness.Smoothness |
| 177 page_set = page_sets.KeyMobileSitesSmoothPageSet | 167 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 178 | 168 |
| 179 def CustomizeBrowserOptions(self, options): | 169 def CustomizeBrowserOptions(self, options): |
| 180 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) | 170 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) |
| 181 | 171 |
| 182 @classmethod | 172 @classmethod |
| 183 def Name(cls): | 173 def Name(cls): |
| 184 return 'smoothness.sync_scroll.key_mobile_sites_smooth' | 174 return 'smoothness.sync_scroll.key_mobile_sites_smooth' |
| 185 | 175 |
| 186 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 187 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 188 | |
| 189 | 176 |
| 190 @benchmark.Enabled('android') | 177 @benchmark.Enabled('android') |
| 191 class SmoothnessSimpleMobilePages(benchmark.Benchmark): | 178 class SmoothnessSimpleMobilePages(benchmark.Benchmark): |
| 192 """Measures rendering statistics for simple mobile sites page set. | 179 """Measures rendering statistics for simple mobile sites page set. |
| 193 """ | 180 """ |
| 181 test = smoothness.Smoothness |
| 194 page_set = page_sets.SimpleMobileSitesPageSet | 182 page_set = page_sets.SimpleMobileSitesPageSet |
| 195 | 183 |
| 196 @classmethod | 184 @classmethod |
| 197 def Name(cls): | 185 def Name(cls): |
| 198 return 'smoothness.simple_mobile_sites' | 186 return 'smoothness.simple_mobile_sites' |
| 199 | 187 |
| 200 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 201 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 202 | |
| 203 | 188 |
| 204 @benchmark.Enabled('android') | 189 @benchmark.Enabled('android') |
| 205 class SmoothnessFlingSimpleMobilePages(benchmark.Benchmark): | 190 class SmoothnessFlingSimpleMobilePages(benchmark.Benchmark): |
| 206 """Measures rendering statistics for flinging a simple mobile sites page set. | 191 """Measures rendering statistics for flinging a simple mobile sites page set. |
| 207 """ | 192 """ |
| 193 test = smoothness.Smoothness |
| 208 page_set = page_sets.SimpleMobileSitesFlingPageSet | 194 page_set = page_sets.SimpleMobileSitesFlingPageSet |
| 209 | 195 |
| 210 def CustomizeBrowserOptions(self, options): | 196 def CustomizeBrowserOptions(self, options): |
| 211 # As the fling parameters cannot be analytically determined to not | 197 # As the fling parameters cannot be analytically determined to not |
| 212 # overscroll, disable overscrolling explicitly. Overscroll behavior is | 198 # overscroll, disable overscrolling explicitly. Overscroll behavior is |
| 213 # orthogonal to fling performance, and its activation is only more noise. | 199 # orthogonal to fling performance, and its activation is only more noise. |
| 214 options.AppendExtraBrowserArgs('--disable-overscroll-edge-effect') | 200 options.AppendExtraBrowserArgs('--disable-overscroll-edge-effect') |
| 215 | 201 |
| 216 @classmethod | 202 @classmethod |
| 217 def Name(cls): | 203 def Name(cls): |
| 218 return 'smoothness.fling.simple_mobile_sites' | 204 return 'smoothness.fling.simple_mobile_sites' |
| 219 | 205 |
| 220 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 221 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 222 | |
| 223 | 206 |
| 224 @benchmark.Enabled('android', 'chromeos') | 207 @benchmark.Enabled('android', 'chromeos') |
| 225 class SmoothnessToughPinchZoomCases(benchmark.Benchmark): | 208 class SmoothnessToughPinchZoomCases(benchmark.Benchmark): |
| 226 """Measures rendering statistics for pinch-zooming into the tough pinch zoom | 209 """Measures rendering statistics for pinch-zooming into the tough pinch zoom |
| 227 cases. | 210 cases. |
| 228 """ | 211 """ |
| 212 test = smoothness.Smoothness |
| 229 page_set = page_sets.ToughPinchZoomCasesPageSet | 213 page_set = page_sets.ToughPinchZoomCasesPageSet |
| 230 | 214 |
| 231 @classmethod | 215 @classmethod |
| 232 def Name(cls): | 216 def Name(cls): |
| 233 return 'smoothness.tough_pinch_zoom_cases' | 217 return 'smoothness.tough_pinch_zoom_cases' |
| 234 | 218 |
| 235 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 236 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 237 | |
| 238 | 219 |
| 239 @benchmark.Enabled('android', 'chromeos') | 220 @benchmark.Enabled('android', 'chromeos') |
| 240 class SmoothnessToughScrollingWhileZoomedInCases(benchmark.Benchmark): | 221 class SmoothnessToughScrollingWhileZoomedInCases(benchmark.Benchmark): |
| 241 """Measures rendering statistics for pinch-zooming then diagonal scrolling""" | 222 """Measures rendering statistics for pinch-zooming then diagonal scrolling""" |
| 223 test = smoothness.Smoothness |
| 242 page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet | 224 page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet |
| 243 | 225 |
| 244 @classmethod | 226 @classmethod |
| 245 def Name(cls): | 227 def Name(cls): |
| 246 return 'smoothness.tough_scrolling_while_zoomed_in_cases' | 228 return 'smoothness.tough_scrolling_while_zoomed_in_cases' |
| 247 | 229 |
| 248 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 249 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 250 | |
| 251 | 230 |
| 252 @benchmark.Enabled('android') | 231 @benchmark.Enabled('android') |
| 253 class SmoothnessPolymer(benchmark.Benchmark): | 232 class SmoothnessPolymer(benchmark.Benchmark): |
| 254 """Measures rendering statistics for Polymer cases. | 233 """Measures rendering statistics for Polymer cases. |
| 255 """ | 234 """ |
| 235 test = smoothness.Smoothness |
| 256 page_set = page_sets.PolymerPageSet | 236 page_set = page_sets.PolymerPageSet |
| 257 | 237 |
| 258 @classmethod | 238 @classmethod |
| 259 def Name(cls): | 239 def Name(cls): |
| 260 return 'smoothness.polymer' | 240 return 'smoothness.polymer' |
| 261 | 241 |
| 262 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 263 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 264 | |
| 265 | 242 |
| 266 @benchmark.Enabled('android') | 243 @benchmark.Enabled('android') |
| 267 class SmoothnessGpuRasterizationPolymer(benchmark.Benchmark): | 244 class SmoothnessGpuRasterizationPolymer(benchmark.Benchmark): |
| 268 """Measures rendering statistics for the Polymer cases with GPU rasterization. | 245 """Measures rendering statistics for the Polymer cases with GPU rasterization. |
| 269 """ | 246 """ |
| 270 tag = 'gpu_rasterization' | 247 tag = 'gpu_rasterization' |
| 248 test = smoothness.Smoothness |
| 271 page_set = page_sets.PolymerPageSet | 249 page_set = page_sets.PolymerPageSet |
| 272 | 250 |
| 273 def CustomizeBrowserOptions(self, options): | 251 def CustomizeBrowserOptions(self, options): |
| 274 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 252 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 275 | 253 |
| 276 @classmethod | 254 @classmethod |
| 277 def Name(cls): | 255 def Name(cls): |
| 278 return 'smoothness.gpu_rasterization.polymer' | 256 return 'smoothness.gpu_rasterization.polymer' |
| 279 | 257 |
| 280 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 281 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 282 | |
| 283 | 258 |
| 284 class SmoothnessToughFastScrollingCases(benchmark.Benchmark): | 259 class SmoothnessToughFastScrollingCases(benchmark.Benchmark): |
| 285 test = smoothness.Smoothness | 260 test = smoothness.Smoothness |
| 286 page_set = page_sets.ToughScrollingCasesPageSet | 261 page_set = page_sets.ToughScrollingCasesPageSet |
| 287 options = {'story_label_filter': 'fastscrolling'} | 262 options = {'story_label_filter': 'fastscrolling'} |
| 288 | 263 |
| 289 @classmethod | 264 @classmethod |
| 290 def Name(cls): | 265 def Name(cls): |
| 291 return 'smoothness.tough_scrolling_cases' | 266 return 'smoothness.tough_scrolling_cases' |
| 292 | 267 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 320 | 295 |
| 321 @classmethod | 296 @classmethod |
| 322 def Name(cls): | 297 def Name(cls): |
| 323 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' | 298 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' |
| 324 | 299 |
| 325 | 300 |
| 326 @benchmark.Enabled('android') | 301 @benchmark.Enabled('android') |
| 327 class SmoothnessPathologicalMobileSites(benchmark.Benchmark): | 302 class SmoothnessPathologicalMobileSites(benchmark.Benchmark): |
| 328 """Measures task execution statistics while scrolling pathological sites. | 303 """Measures task execution statistics while scrolling pathological sites. |
| 329 """ | 304 """ |
| 305 test = smoothness.Smoothness |
| 330 page_set = page_sets.PathologicalMobileSitesPageSet | 306 page_set = page_sets.PathologicalMobileSitesPageSet |
| 331 | 307 |
| 332 @classmethod | 308 @classmethod |
| 333 def Name(cls): | 309 def Name(cls): |
| 334 return 'smoothness.pathological_mobile_sites' | 310 return 'smoothness.pathological_mobile_sites' |
| 335 | 311 |
| 336 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 337 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 338 | |
| 339 | 312 |
| 340 @benchmark.Enabled('android') | 313 @benchmark.Enabled('android') |
| 341 class SmoothnessSyncScrollPathologicalMobileSites(benchmark.Benchmark): | 314 class SmoothnessSyncScrollPathologicalMobileSites(benchmark.Benchmark): |
| 342 """Measures task execution statistics while sync-scrolling pathological sites. | 315 """Measures task execution statistics while sync-scrolling pathological sites. |
| 343 """ | 316 """ |
| 344 tag = 'sync_scroll' | 317 tag = 'sync_scroll' |
| 345 page_set = page_sets.PathologicalMobileSitesPageSet | 318 page_set = page_sets.PathologicalMobileSitesPageSet |
| 319 test = smoothness.Smoothness |
| 346 | 320 |
| 347 def CustomizeBrowserOptions(self, options): | 321 def CustomizeBrowserOptions(self, options): |
| 348 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) | 322 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) |
| 349 | 323 |
| 350 @classmethod | 324 @classmethod |
| 351 def Name(cls): | 325 def Name(cls): |
| 352 return 'smoothness.sync_scroll.pathological_mobile_sites' | 326 return 'smoothness.sync_scroll.pathological_mobile_sites' |
| 353 | 327 |
| 354 def CreatePageTest(self, options): # pylint: disable=unused-argument | |
| 355 return smoothness.Smoothness(enable_auto_issuing_marker=False) | |
| 356 | |
| 357 | 328 |
| 358 class SmoothnessToughAnimatedImageCases(benchmark.Benchmark): | 329 class SmoothnessToughAnimatedImageCases(benchmark.Benchmark): |
| 359 test = smoothness.Smoothness | 330 test = smoothness.Smoothness |
| 360 page_set = page_sets.ToughAnimatedImageCasesPageSet | 331 page_set = page_sets.ToughAnimatedImageCasesPageSet |
| 361 | 332 |
| 362 @classmethod | 333 @classmethod |
| 363 def Name(cls): | 334 def Name(cls): |
| 364 return 'smoothness.tough_animated_image_cases' | 335 return 'smoothness.tough_animated_image_cases' |
| OLD | NEW |