| 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 import multiprocessing | 4 import multiprocessing |
| 5 | 5 |
| 6 from core import perf_benchmark | 6 from core import perf_benchmark |
| 7 | 7 |
| 8 from benchmarks import silk_flags | 8 from benchmarks import silk_flags |
| 9 from measurements import smoothness | 9 from measurements import smoothness |
| 10 import page_sets | 10 import page_sets |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 @classmethod | 30 @classmethod |
| 31 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 31 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| 32 del is_first_result # unused | 32 del is_first_result # unused |
| 33 if (value.name == 'first_gesture_scroll_update_latency' and | 33 if (value.name == 'first_gesture_scroll_update_latency' and |
| 34 value.page.url in cls._PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST and | 34 value.page.url in cls._PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST and |
| 35 value.values is None): | 35 value.values is None): |
| 36 return False | 36 return False |
| 37 return True | 37 return True |
| 38 | 38 |
| 39 | 39 |
| 40 @benchmark.Owner(emails=['vmiura@chromium.org']) |
| 40 class SmoothnessTop25(_Smoothness): | 41 class SmoothnessTop25(_Smoothness): |
| 41 """Measures rendering statistics while scrolling down the top 25 web pages. | 42 """Measures rendering statistics while scrolling down the top 25 web pages. |
| 42 | 43 |
| 43 http://www.chromium.org/developers/design-documents/rendering-benchmarks | 44 http://www.chromium.org/developers/design-documents/rendering-benchmarks |
| 44 """ | 45 """ |
| 45 page_set = page_sets.Top25SmoothPageSet | 46 page_set = page_sets.Top25SmoothPageSet |
| 46 | 47 |
| 47 @classmethod | 48 @classmethod |
| 48 def Name(cls): | 49 def Name(cls): |
| 49 return 'smoothness.top_25_smooth' | 50 return 'smoothness.top_25_smooth' |
| 50 | 51 |
| 51 @classmethod | 52 @classmethod |
| 52 def ShouldDisable(cls, possible_browser): | 53 def ShouldDisable(cls, possible_browser): |
| 53 # http://crbug.com/597656 | 54 # http://crbug.com/597656 |
| 54 if (possible_browser.browser_type == 'reference' and | 55 if (possible_browser.browser_type == 'reference' and |
| 55 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X'): | 56 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X'): |
| 56 return True | 57 return True |
| 57 # http://crbug.com/650762 | 58 # http://crbug.com/650762 |
| 58 if (possible_browser.browser_type == 'reference' and | 59 if (possible_browser.browser_type == 'reference' and |
| 59 possible_browser.platform.GetOSName() == 'win'): | 60 possible_browser.platform.GetOSName() == 'win'): |
| 60 return True | 61 return True |
| 61 return False | 62 return False |
| 62 | 63 |
| 63 | 64 |
| 65 @benchmark.Owner(emails=['senorblanco@chromium.org']) |
| 64 class SmoothnessToughFiltersCases(_Smoothness): | 66 class SmoothnessToughFiltersCases(_Smoothness): |
| 65 """Measures frame rate and a variety of other statistics. | 67 """Measures frame rate and a variety of other statistics. |
| 66 | 68 |
| 67 Uses a selection of pages making use of SVG and CSS Filter Effects. | 69 Uses a selection of pages making use of SVG and CSS Filter Effects. |
| 68 """ | 70 """ |
| 69 page_set = page_sets.ToughFiltersCasesPageSet | 71 page_set = page_sets.ToughFiltersCasesPageSet |
| 70 | 72 |
| 71 @classmethod | 73 @classmethod |
| 72 def Name(cls): | 74 def Name(cls): |
| 73 return 'smoothness.tough_filters_cases' | 75 return 'smoothness.tough_filters_cases' |
| 74 | 76 |
| 75 @classmethod | 77 @classmethod |
| 76 def ShouldDisable(cls, possible_browser): | 78 def ShouldDisable(cls, possible_browser): |
| 77 # http://crbug.com/616520 | 79 # http://crbug.com/616520 |
| 78 if (cls.IsSvelte(possible_browser) and | 80 if (cls.IsSvelte(possible_browser) and |
| 79 possible_browser.browser_type == 'reference'): | 81 possible_browser.browser_type == 'reference'): |
| 80 return True | 82 return True |
| 81 # http://crbug.com/624032 | 83 # http://crbug.com/624032 |
| 82 if possible_browser.platform.GetDeviceTypeName() == 'Nexus 6': | 84 if possible_browser.platform.GetDeviceTypeName() == 'Nexus 6': |
| 83 return True | 85 return True |
| 84 return False | 86 return False |
| 85 | 87 |
| 86 | 88 |
| 89 @benchmark.Owner(emails=['senorblanco@chromium.org']) |
| 87 class SmoothnessToughPathRenderingCases(_Smoothness): | 90 class SmoothnessToughPathRenderingCases(_Smoothness): |
| 88 """Tests a selection of pages with SVG and 2D Canvas paths. | 91 """Tests a selection of pages with SVG and 2D Canvas paths. |
| 89 | 92 |
| 90 Measures frame rate and a variety of other statistics. """ | 93 Measures frame rate and a variety of other statistics. """ |
| 91 page_set = page_sets.ToughPathRenderingCasesPageSet | 94 page_set = page_sets.ToughPathRenderingCasesPageSet |
| 92 | 95 |
| 93 @classmethod | 96 @classmethod |
| 94 def Name(cls): | 97 def Name(cls): |
| 95 return 'smoothness.tough_path_rendering_cases' | 98 return 'smoothness.tough_path_rendering_cases' |
| 96 | 99 |
| 97 | 100 |
| 98 @benchmark.Disabled('android') # crbug.com/526901 | 101 @benchmark.Disabled('android') # crbug.com/526901 |
| 102 @benchmark.Owner(emails=['junov@chromium.org']) |
| 99 class SmoothnessToughCanvasCases(_Smoothness): | 103 class SmoothnessToughCanvasCases(_Smoothness): |
| 100 """Measures frame rate and a variety of other statistics. | 104 """Measures frame rate and a variety of other statistics. |
| 101 | 105 |
| 102 Uses a selection of pages making use of the 2D Canvas API. | 106 Uses a selection of pages making use of the 2D Canvas API. |
| 103 """ | 107 """ |
| 104 page_set = page_sets.ToughCanvasCasesPageSet | 108 page_set = page_sets.ToughCanvasCasesPageSet |
| 105 | 109 |
| 106 def SetExtraBrowserOptions(self, options): | 110 def SetExtraBrowserOptions(self, options): |
| 107 options.AppendExtraBrowserArgs('--enable-experimental-canvas-features') | 111 options.AppendExtraBrowserArgs('--enable-experimental-canvas-features') |
| 108 | 112 |
| 109 @classmethod | 113 @classmethod |
| 110 def Name(cls): | 114 def Name(cls): |
| 111 return 'smoothness.tough_canvas_cases' | 115 return 'smoothness.tough_canvas_cases' |
| 112 | 116 |
| 113 | 117 |
| 114 @benchmark.Disabled('android') # crbug.com/373812 | 118 @benchmark.Disabled('android') # crbug.com/373812 |
| 115 @benchmark.Disabled('win-reference') # crbug.com/612810 | 119 @benchmark.Disabled('win-reference') # crbug.com/612810 |
| 120 @benchmark.Owner(emails=['kbr@chromium.org', 'zmo@chromium.org']) |
| 116 class SmoothnessToughWebGLCases(_Smoothness): | 121 class SmoothnessToughWebGLCases(_Smoothness): |
| 117 page_set = page_sets.ToughWebglCasesPageSet | 122 page_set = page_sets.ToughWebglCasesPageSet |
| 118 | 123 |
| 119 @classmethod | 124 @classmethod |
| 120 def Name(cls): | 125 def Name(cls): |
| 121 return 'smoothness.tough_webgl_cases' | 126 return 'smoothness.tough_webgl_cases' |
| 122 | 127 |
| 123 | 128 |
| 124 @benchmark.Disabled('win') # http://crbug.com/692663 | 129 @benchmark.Disabled('win') # http://crbug.com/692663 |
| 125 @benchmark.Disabled('android-webview') # http://crbug.com/653933 | 130 @benchmark.Disabled('android-webview') # http://crbug.com/653933 |
| 131 @benchmark.Owner(emails=['kbr@chromium.org', 'zmo@chromium.org']) |
| 126 class SmoothnessMaps(perf_benchmark.PerfBenchmark): | 132 class SmoothnessMaps(perf_benchmark.PerfBenchmark): |
| 127 page_set = page_sets.MapsPageSet | 133 page_set = page_sets.MapsPageSet |
| 128 | 134 |
| 129 @classmethod | 135 @classmethod |
| 130 def Name(cls): | 136 def Name(cls): |
| 131 return 'smoothness.maps' | 137 return 'smoothness.maps' |
| 132 | 138 |
| 133 | 139 |
| 134 @benchmark.Disabled('android', | 140 @benchmark.Disabled('android', |
| 135 'mac') # crbug.com/567802 | 141 'mac') # crbug.com/567802 |
| 142 @benchmark.Owner(emails=['ssid@chromium.org']) |
| 136 class SmoothnessKeyDesktopMoveCases(_Smoothness): | 143 class SmoothnessKeyDesktopMoveCases(_Smoothness): |
| 137 page_set = page_sets.KeyDesktopMoveCasesPageSet | 144 page_set = page_sets.KeyDesktopMoveCasesPageSet |
| 138 | 145 |
| 139 @classmethod | 146 @classmethod |
| 140 def Name(cls): | 147 def Name(cls): |
| 141 return 'smoothness.key_desktop_move_cases' | 148 return 'smoothness.key_desktop_move_cases' |
| 142 | 149 |
| 143 @classmethod | 150 @classmethod |
| 144 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 151 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 145 return (possible_browser.browser_type == 'reference' and | 152 return (possible_browser.browser_type == 'reference' and |
| 146 possible_browser.platform.GetOSName() == 'win') | 153 possible_browser.platform.GetOSName() == 'win') |
| 147 | 154 |
| 148 | 155 |
| 149 @benchmark.Enabled('android') | 156 @benchmark.Enabled('android') |
| 157 @benchmark.Owner(emails=['vmiura@chromium.org', 'tdresser@chromium.org']) |
| 150 class SmoothnessKeyMobileSites(_Smoothness): | 158 class SmoothnessKeyMobileSites(_Smoothness): |
| 151 """Measures rendering statistics while scrolling down the key mobile sites. | 159 """Measures rendering statistics while scrolling down the key mobile sites. |
| 152 | 160 |
| 153 http://www.chromium.org/developers/design-documents/rendering-benchmarks | 161 http://www.chromium.org/developers/design-documents/rendering-benchmarks |
| 154 """ | 162 """ |
| 155 page_set = page_sets.KeyMobileSitesSmoothPageSet | 163 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 156 | 164 |
| 157 @classmethod | 165 @classmethod |
| 158 def Name(cls): | 166 def Name(cls): |
| 159 return 'smoothness.key_mobile_sites_smooth' | 167 return 'smoothness.key_mobile_sites_smooth' |
| 160 | 168 |
| 161 @classmethod | 169 @classmethod |
| 162 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 170 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 163 return (possible_browser.browser_type == 'reference' and | 171 return (possible_browser.browser_type == 'reference' and |
| 164 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 172 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 165 | 173 |
| 166 @benchmark.Disabled('android') # crbug.com/589580 | 174 @benchmark.Disabled('android') # crbug.com/589580 |
| 167 @benchmark.Disabled('android-reference') # crbug.com/588786 | 175 @benchmark.Disabled('android-reference') # crbug.com/588786 |
| 168 @benchmark.Disabled('mac') # crbug.com/563615 | 176 @benchmark.Disabled('mac') # crbug.com/563615 |
| 177 @benchmark.Owner(emails=['alancutter@chromium.org']) |
| 169 class SmoothnessToughAnimationCases(_Smoothness): | 178 class SmoothnessToughAnimationCases(_Smoothness): |
| 170 test = smoothness.SmoothnessWithRestart | 179 test = smoothness.SmoothnessWithRestart |
| 171 page_set = page_sets.ToughAnimationCasesPageSet | 180 page_set = page_sets.ToughAnimationCasesPageSet |
| 172 | 181 |
| 173 @classmethod | 182 @classmethod |
| 174 def Name(cls): | 183 def Name(cls): |
| 175 return 'smoothness.tough_animation_cases' | 184 return 'smoothness.tough_animation_cases' |
| 176 | 185 |
| 177 @classmethod | 186 @classmethod |
| 178 def ShouldDisable(cls, possible_browser): # http://crbug.com/595737 | 187 def ShouldDisable(cls, possible_browser): # http://crbug.com/595737 |
| 179 # This test is flaky on low-end windows machine. | 188 # This test is flaky on low-end windows machine. |
| 180 return (possible_browser.platform.GetOSName() == 'win' and | 189 return (possible_browser.platform.GetOSName() == 'win' and |
| 181 multiprocessing.cpu_count() <= 2) | 190 multiprocessing.cpu_count() <= 2) |
| 182 | 191 |
| 183 | 192 |
| 184 @benchmark.Enabled('android') | 193 @benchmark.Enabled('android') |
| 194 @benchmark.Owner(emails=['ajuma@chromium.org']) |
| 185 class SmoothnessKeySilkCases(_Smoothness): | 195 class SmoothnessKeySilkCases(_Smoothness): |
| 186 """Measures rendering statistics for the key silk cases without GPU | 196 """Measures rendering statistics for the key silk cases without GPU |
| 187 rasterization. | 197 rasterization. |
| 188 """ | 198 """ |
| 189 page_set = page_sets.KeySilkCasesPageSet | 199 page_set = page_sets.KeySilkCasesPageSet |
| 190 | 200 |
| 191 @classmethod | 201 @classmethod |
| 192 def Name(cls): | 202 def Name(cls): |
| 193 return 'smoothness.key_silk_cases' | 203 return 'smoothness.key_silk_cases' |
| 194 | 204 |
| 195 def CreateStorySet(self, options): | 205 def CreateStorySet(self, options): |
| 196 stories = super(SmoothnessKeySilkCases, self).CreateStorySet(options) | 206 stories = super(SmoothnessKeySilkCases, self).CreateStorySet(options) |
| 197 # Page26 (befamous) is too noisy to be useful; crbug.com/461127 | 207 # Page26 (befamous) is too noisy to be useful; crbug.com/461127 |
| 198 to_remove = [story for story in stories | 208 to_remove = [story for story in stories |
| 199 if isinstance(story, page_sets.key_silk_cases.Page26)] | 209 if isinstance(story, page_sets.key_silk_cases.Page26)] |
| 200 for story in to_remove: | 210 for story in to_remove: |
| 201 stories.RemoveStory(story) | 211 stories.RemoveStory(story) |
| 202 return stories | 212 return stories |
| 203 | 213 |
| 204 | 214 |
| 205 @benchmark.Enabled('android') | 215 @benchmark.Enabled('android') |
| 216 @benchmark.Owner(emails=['vmiura@chromium.org']) |
| 206 class SmoothnessGpuRasterizationTop25(_Smoothness): | 217 class SmoothnessGpuRasterizationTop25(_Smoothness): |
| 207 """Measures rendering statistics for the top 25 with GPU rasterization. | 218 """Measures rendering statistics for the top 25 with GPU rasterization. |
| 208 """ | 219 """ |
| 209 tag = 'gpu_rasterization' | 220 tag = 'gpu_rasterization' |
| 210 page_set = page_sets.Top25SmoothPageSet | 221 page_set = page_sets.Top25SmoothPageSet |
| 211 | 222 |
| 212 def SetExtraBrowserOptions(self, options): | 223 def SetExtraBrowserOptions(self, options): |
| 213 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 224 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 214 | 225 |
| 215 @classmethod | 226 @classmethod |
| 216 def Name(cls): | 227 def Name(cls): |
| 217 return 'smoothness.gpu_rasterization.top_25_smooth' | 228 return 'smoothness.gpu_rasterization.top_25_smooth' |
| 218 | 229 |
| 219 @classmethod | 230 @classmethod |
| 220 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 231 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 221 return (possible_browser.browser_type == 'reference' and | 232 return (possible_browser.browser_type == 'reference' and |
| 222 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 233 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 223 | 234 |
| 224 | 235 |
| 225 # Although GPU rasterization is enabled on Mac, it is blacklisted for certain | 236 # Although GPU rasterization is enabled on Mac, it is blacklisted for certain |
| 226 # path cases, so it is still valuable to run both the GPU and non-GPU versions | 237 # path cases, so it is still valuable to run both the GPU and non-GPU versions |
| 227 # of this benchmark on Mac. | 238 # of this benchmark on Mac. |
| 239 @benchmark.Owner(emails=['senorblanco@chromium.org']) |
| 228 class SmoothnessGpuRasterizationToughPathRenderingCases(_Smoothness): | 240 class SmoothnessGpuRasterizationToughPathRenderingCases(_Smoothness): |
| 229 """Tests a selection of pages with SVG and 2D canvas paths with GPU | 241 """Tests a selection of pages with SVG and 2D canvas paths with GPU |
| 230 rasterization. | 242 rasterization. |
| 231 """ | 243 """ |
| 232 tag = 'gpu_rasterization' | 244 tag = 'gpu_rasterization' |
| 233 page_set = page_sets.ToughPathRenderingCasesPageSet | 245 page_set = page_sets.ToughPathRenderingCasesPageSet |
| 234 | 246 |
| 235 def SetExtraBrowserOptions(self, options): | 247 def SetExtraBrowserOptions(self, options): |
| 236 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 248 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 237 | 249 |
| 238 @classmethod | 250 @classmethod |
| 239 def Name(cls): | 251 def Name(cls): |
| 240 return 'smoothness.gpu_rasterization.tough_path_rendering_cases' | 252 return 'smoothness.gpu_rasterization.tough_path_rendering_cases' |
| 241 | 253 |
| 242 | 254 |
| 243 # With GPU Raster enabled on Mac, there's no reason to run this benchmark in | 255 # With GPU Raster enabled on Mac, there's no reason to run this benchmark in |
| 244 # addition to SmoothnessFiltersCases. | 256 # addition to SmoothnessFiltersCases. |
| 245 @benchmark.Disabled('mac') | 257 @benchmark.Disabled('mac') |
| 258 @benchmark.Owner(emails=['senorblanco@chromium.org']) |
| 246 class SmoothnessGpuRasterizationFiltersCases(_Smoothness): | 259 class SmoothnessGpuRasterizationFiltersCases(_Smoothness): |
| 247 """Tests a selection of pages with SVG and CSS filter effects with GPU | 260 """Tests a selection of pages with SVG and CSS filter effects with GPU |
| 248 rasterization. | 261 rasterization. |
| 249 """ | 262 """ |
| 250 tag = 'gpu_rasterization' | 263 tag = 'gpu_rasterization' |
| 251 page_set = page_sets.ToughFiltersCasesPageSet | 264 page_set = page_sets.ToughFiltersCasesPageSet |
| 252 | 265 |
| 253 def SetExtraBrowserOptions(self, options): | 266 def SetExtraBrowserOptions(self, options): |
| 254 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 267 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 255 | 268 |
| 256 @classmethod | 269 @classmethod |
| 257 def Name(cls): | 270 def Name(cls): |
| 258 return 'smoothness.gpu_rasterization.tough_filters_cases' | 271 return 'smoothness.gpu_rasterization.tough_filters_cases' |
| 259 | 272 |
| 260 @classmethod | 273 @classmethod |
| 261 def ShouldDisable(cls, possible_browser): # http://crbug.com/616540 | 274 def ShouldDisable(cls, possible_browser): # http://crbug.com/616540 |
| 262 return (cls.IsSvelte(possible_browser) and | 275 return (cls.IsSvelte(possible_browser) and |
| 263 possible_browser.browser_type == 'reference') | 276 possible_browser.browser_type == 'reference') |
| 264 | 277 |
| 265 | 278 |
| 266 @benchmark.Enabled('android') | 279 @benchmark.Enabled('android') |
| 280 @benchmark.Owner(emails=['tdresser@chromium.org', 'rbyers@chromium.org']) |
| 267 class SmoothnessSyncScrollKeyMobileSites(_Smoothness): | 281 class SmoothnessSyncScrollKeyMobileSites(_Smoothness): |
| 268 """Measures rendering statistics for the key mobile sites with synchronous | 282 """Measures rendering statistics for the key mobile sites with synchronous |
| 269 (main thread) scrolling. | 283 (main thread) scrolling. |
| 270 """ | 284 """ |
| 271 tag = 'sync_scroll' | 285 tag = 'sync_scroll' |
| 272 page_set = page_sets.KeyMobileSitesSmoothPageSet | 286 page_set = page_sets.KeyMobileSitesSmoothPageSet |
| 273 | 287 |
| 274 def SetExtraBrowserOptions(self, options): | 288 def SetExtraBrowserOptions(self, options): |
| 275 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) | 289 silk_flags.CustomizeBrowserOptionsForSyncScrolling(options) |
| 276 | 290 |
| 277 @classmethod | 291 @classmethod |
| 278 def Name(cls): | 292 def Name(cls): |
| 279 return 'smoothness.sync_scroll.key_mobile_sites_smooth' | 293 return 'smoothness.sync_scroll.key_mobile_sites_smooth' |
| 280 | 294 |
| 281 @classmethod | 295 @classmethod |
| 282 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 296 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 283 return (possible_browser.browser_type == 'reference' and | 297 return (possible_browser.browser_type == 'reference' and |
| 284 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 298 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 285 | 299 |
| 286 | 300 |
| 287 @benchmark.Enabled('android') | 301 @benchmark.Enabled('android') |
| 302 @benchmark.Owner(emails=['vmiura@chromium.org']) |
| 288 class SmoothnessSimpleMobilePages(_Smoothness): | 303 class SmoothnessSimpleMobilePages(_Smoothness): |
| 289 """Measures rendering statistics for simple mobile sites page set. | 304 """Measures rendering statistics for simple mobile sites page set. |
| 290 """ | 305 """ |
| 291 page_set = page_sets.SimpleMobileSitesPageSet | 306 page_set = page_sets.SimpleMobileSitesPageSet |
| 292 | 307 |
| 293 @classmethod | 308 @classmethod |
| 294 def Name(cls): | 309 def Name(cls): |
| 295 return 'smoothness.simple_mobile_sites' | 310 return 'smoothness.simple_mobile_sites' |
| 296 | 311 |
| 297 | 312 |
| 298 @benchmark.Disabled('all') # http://crbug.com/631015 | 313 @benchmark.Disabled('all') # http://crbug.com/631015 |
| 314 @benchmark.Owner(emails=['bokan@chromium.org']) |
| 299 class SmoothnessToughPinchZoomCases(_Smoothness): | 315 class SmoothnessToughPinchZoomCases(_Smoothness): |
| 300 """Measures rendering statistics for pinch-zooming in the tough pinch zoom | 316 """Measures rendering statistics for pinch-zooming in the tough pinch zoom |
| 301 cases. | 317 cases. |
| 302 """ | 318 """ |
| 303 page_set = page_sets.AndroidToughPinchZoomCasesPageSet | 319 page_set = page_sets.AndroidToughPinchZoomCasesPageSet |
| 304 | 320 |
| 305 @classmethod | 321 @classmethod |
| 306 def Name(cls): | 322 def Name(cls): |
| 307 return 'smoothness.tough_pinch_zoom_cases' | 323 return 'smoothness.tough_pinch_zoom_cases' |
| 308 | 324 |
| 309 @classmethod | 325 @classmethod |
| 310 def ShouldDisable(cls, possible_browser): | 326 def ShouldDisable(cls, possible_browser): |
| 311 return ( | 327 return ( |
| 312 # http://crbug.com/564008 | 328 # http://crbug.com/564008 |
| 313 cls.IsSvelte(possible_browser) or | 329 cls.IsSvelte(possible_browser) or |
| 314 # http://crbug.com/630701 | 330 # http://crbug.com/630701 |
| 315 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 331 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 316 | 332 |
| 317 | 333 |
| 318 @benchmark.Enabled('mac') | 334 @benchmark.Enabled('mac') |
| 335 @benchmark.Owner(emails=['ericrk@chromium.org']) |
| 319 class SmoothnessDesktopToughPinchZoomCases(_Smoothness): | 336 class SmoothnessDesktopToughPinchZoomCases(_Smoothness): |
| 320 """Measures rendering statistics for pinch-zooming in the tough pinch zoom | 337 """Measures rendering statistics for pinch-zooming in the tough pinch zoom |
| 321 cases. Uses lower zoom levels customized for desktop limits. | 338 cases. Uses lower zoom levels customized for desktop limits. |
| 322 """ | 339 """ |
| 323 page_set = page_sets.DesktopToughPinchZoomCasesPageSet | 340 page_set = page_sets.DesktopToughPinchZoomCasesPageSet |
| 324 | 341 |
| 325 @classmethod | 342 @classmethod |
| 326 def Name(cls): | 343 def Name(cls): |
| 327 return 'smoothness.desktop_tough_pinch_zoom_cases' | 344 return 'smoothness.desktop_tough_pinch_zoom_cases' |
| 328 | 345 |
| 329 | 346 |
| 330 # This benchmark runs only on android by it is disabled on android as well | 347 # This benchmark runs only on android by it is disabled on android as well |
| 331 # because of http://crbug.com/610021 | 348 # because of http://crbug.com/610021 |
| 332 # @benchmark.Enabled('android') | 349 # @benchmark.Enabled('android') |
| 333 @benchmark.Disabled('all') | 350 @benchmark.Disabled('all') |
| 351 @benchmark.Owner(emails=['ericrk@chromium.org']) |
| 334 class SmoothnessGpuRasterizationToughPinchZoomCases(_Smoothness): | 352 class SmoothnessGpuRasterizationToughPinchZoomCases(_Smoothness): |
| 335 """Measures rendering statistics for pinch-zooming in the tough pinch zoom | 353 """Measures rendering statistics for pinch-zooming in the tough pinch zoom |
| 336 cases with GPU rasterization. | 354 cases with GPU rasterization. |
| 337 """ | 355 """ |
| 338 tag = 'gpu_rasterization' | 356 tag = 'gpu_rasterization' |
| 339 test = smoothness.Smoothness | 357 test = smoothness.Smoothness |
| 340 page_set = page_sets.AndroidToughPinchZoomCasesPageSet | 358 page_set = page_sets.AndroidToughPinchZoomCasesPageSet |
| 341 | 359 |
| 342 def SetExtraBrowserOptions(self, options): | 360 def SetExtraBrowserOptions(self, options): |
| 343 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 361 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 344 | 362 |
| 345 @classmethod | 363 @classmethod |
| 346 def Name(cls): | 364 def Name(cls): |
| 347 return 'smoothness.gpu_rasterization.tough_pinch_zoom_cases' | 365 return 'smoothness.gpu_rasterization.tough_pinch_zoom_cases' |
| 348 | 366 |
| 349 @classmethod | 367 @classmethod |
| 350 def ShouldDisable(cls, possible_browser): | 368 def ShouldDisable(cls, possible_browser): |
| 351 return cls.IsSvelte(possible_browser) # http://crbug.com/564008 | 369 return cls.IsSvelte(possible_browser) # http://crbug.com/564008 |
| 352 | 370 |
| 353 | 371 |
| 354 @benchmark.Enabled('android') | 372 @benchmark.Enabled('android') |
| 373 @benchmark.Owner(emails=['vmiura@chromium.org']) |
| 355 class SmoothnessGpuRasterizationPolymer(_Smoothness): | 374 class SmoothnessGpuRasterizationPolymer(_Smoothness): |
| 356 """Measures rendering statistics for the Polymer cases with GPU rasterization. | 375 """Measures rendering statistics for the Polymer cases with GPU rasterization. |
| 357 """ | 376 """ |
| 358 tag = 'gpu_rasterization' | 377 tag = 'gpu_rasterization' |
| 359 page_set = page_sets.PolymerPageSet | 378 page_set = page_sets.PolymerPageSet |
| 360 | 379 |
| 361 def SetExtraBrowserOptions(self, options): | 380 def SetExtraBrowserOptions(self, options): |
| 362 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 381 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 363 | 382 |
| 364 @classmethod | 383 @classmethod |
| 365 def Name(cls): | 384 def Name(cls): |
| 366 return 'smoothness.gpu_rasterization.polymer' | 385 return 'smoothness.gpu_rasterization.polymer' |
| 367 | 386 |
| 368 | 387 |
| 388 @benchmark.Owner(emails=['reveman@chromium.org']) |
| 369 class SmoothnessToughScrollingCases(_Smoothness): | 389 class SmoothnessToughScrollingCases(_Smoothness): |
| 370 page_set = page_sets.ToughScrollingCasesPageSet | 390 page_set = page_sets.ToughScrollingCasesPageSet |
| 371 | 391 |
| 372 @classmethod | 392 @classmethod |
| 373 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 393 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| 374 del is_first_result # unused | 394 del is_first_result # unused |
| 375 # Only keep 'mean_pixels_approximated' and 'mean_pixels_checkerboarded' | 395 # Only keep 'mean_pixels_approximated' and 'mean_pixels_checkerboarded' |
| 376 # metrics. (crbug.com/529331) | 396 # metrics. (crbug.com/529331) |
| 377 return value.name in ('mean_pixels_approximated', | 397 return value.name in ('mean_pixels_approximated', |
| 378 'mean_pixels_checkerboarded') | 398 'mean_pixels_checkerboarded') |
| 379 | 399 |
| 380 @classmethod | 400 @classmethod |
| 381 def Name(cls): | 401 def Name(cls): |
| 382 return 'smoothness.tough_scrolling_cases' | 402 return 'smoothness.tough_scrolling_cases' |
| 383 | 403 |
| 384 @benchmark.Disabled('all') # crbug.com/667489 | 404 @benchmark.Disabled('all') # crbug.com/667489 |
| 405 @benchmark.Owner(emails=['ericrk@chromium.org']) |
| 385 class SmoothnessGpuRasterizationToughScrollingCases(_Smoothness): | 406 class SmoothnessGpuRasterizationToughScrollingCases(_Smoothness): |
| 386 tag = 'gpu_rasterization' | 407 tag = 'gpu_rasterization' |
| 387 test = smoothness.Smoothness | 408 test = smoothness.Smoothness |
| 388 page_set = page_sets.ToughScrollingCasesPageSet | 409 page_set = page_sets.ToughScrollingCasesPageSet |
| 389 | 410 |
| 390 def SetExtraBrowserOptions(self, options): | 411 def SetExtraBrowserOptions(self, options): |
| 391 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 412 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 392 | 413 |
| 393 @classmethod | 414 @classmethod |
| 394 def Name(cls): | 415 def Name(cls): |
| 395 return 'smoothness.gpu_rasterization.tough_scrolling_cases' | 416 return 'smoothness.gpu_rasterization.tough_scrolling_cases' |
| 396 | 417 |
| 397 | 418 |
| 398 @benchmark.Disabled('android') # http://crbug.com/531593 | 419 @benchmark.Disabled('android') # http://crbug.com/531593 |
| 399 @benchmark.Disabled('win') # http://crbug.com/652372 | 420 @benchmark.Disabled('win') # http://crbug.com/652372 |
| 400 class SmoothnessToughImageDecodeCases(_Smoothness): | 421 class SmoothnessToughImageDecodeCases(_Smoothness): |
| 401 page_set = page_sets.ToughImageDecodeCasesPageSet | 422 page_set = page_sets.ToughImageDecodeCasesPageSet |
| 402 | 423 |
| 403 @classmethod | 424 @classmethod |
| 404 def Name(cls): | 425 def Name(cls): |
| 405 return 'smoothness.tough_image_decode_cases' | 426 return 'smoothness.tough_image_decode_cases' |
| 406 | 427 |
| 407 | 428 |
| 408 @benchmark.Disabled('android') # http://crbug.com/610015 | 429 @benchmark.Disabled('android') # http://crbug.com/610015 |
| 430 @benchmark.Owner(emails=['cblume@chromium.org']) |
| 409 class SmoothnessImageDecodingCases(_Smoothness): | 431 class SmoothnessImageDecodingCases(_Smoothness): |
| 410 """Measures decoding statistics for jpeg images. | 432 """Measures decoding statistics for jpeg images. |
| 411 """ | 433 """ |
| 412 page_set = page_sets.ImageDecodingCasesPageSet | 434 page_set = page_sets.ImageDecodingCasesPageSet |
| 413 | 435 |
| 414 def SetExtraBrowserOptions(self, options): | 436 def SetExtraBrowserOptions(self, options): |
| 415 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 437 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 416 options.AppendExtraBrowserArgs('--disable-accelerated-jpeg-decoding') | 438 options.AppendExtraBrowserArgs('--disable-accelerated-jpeg-decoding') |
| 417 | 439 |
| 418 @classmethod | 440 @classmethod |
| 419 def Name(cls): | 441 def Name(cls): |
| 420 return 'smoothness.image_decoding_cases' | 442 return 'smoothness.image_decoding_cases' |
| 421 | 443 |
| 422 @classmethod | 444 @classmethod |
| 423 def ShouldDisable(cls, possible_browser): | 445 def ShouldDisable(cls, possible_browser): |
| 424 return cls.IsSvelte(possible_browser) # http://crbug.com/563974 | 446 return cls.IsSvelte(possible_browser) # http://crbug.com/563974 |
| 425 | 447 |
| 426 | 448 |
| 427 @benchmark.Disabled('android') # http://crbug.com/513699 | 449 @benchmark.Disabled('android') # http://crbug.com/513699 |
| 450 @benchmark.Owner(emails=['cblume@chromium.org']) |
| 428 class SmoothnessGpuImageDecodingCases(_Smoothness): | 451 class SmoothnessGpuImageDecodingCases(_Smoothness): |
| 429 """Measures decoding statistics for jpeg images with GPU rasterization. | 452 """Measures decoding statistics for jpeg images with GPU rasterization. |
| 430 """ | 453 """ |
| 431 tag = 'gpu_rasterization_and_decoding' | 454 tag = 'gpu_rasterization_and_decoding' |
| 432 page_set = page_sets.ImageDecodingCasesPageSet | 455 page_set = page_sets.ImageDecodingCasesPageSet |
| 433 | 456 |
| 434 def SetExtraBrowserOptions(self, options): | 457 def SetExtraBrowserOptions(self, options): |
| 435 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) | 458 silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| 436 # TODO(sugoi): Remove the following line once M41 goes stable | 459 # TODO(sugoi): Remove the following line once M41 goes stable |
| 437 options.AppendExtraBrowserArgs('--enable-accelerated-jpeg-decoding') | 460 options.AppendExtraBrowserArgs('--enable-accelerated-jpeg-decoding') |
| 438 | 461 |
| 439 @classmethod | 462 @classmethod |
| 440 def Name(cls): | 463 def Name(cls): |
| 441 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' | 464 return 'smoothness.gpu_rasterization_and_decoding.image_decoding_cases' |
| 442 | 465 |
| 443 | 466 |
| 444 @benchmark.Enabled('android') | 467 @benchmark.Enabled('android') |
| 468 @benchmark.Owner(emails=['picksi@chromium.org']) |
| 445 class SmoothnessPathologicalMobileSites(_Smoothness): | 469 class SmoothnessPathologicalMobileSites(_Smoothness): |
| 446 """Measures task execution statistics while scrolling pathological sites. | 470 """Measures task execution statistics while scrolling pathological sites. |
| 447 """ | 471 """ |
| 448 page_set = page_sets.PathologicalMobileSitesPageSet | 472 page_set = page_sets.PathologicalMobileSitesPageSet |
| 449 | 473 |
| 450 @classmethod | 474 @classmethod |
| 451 def Name(cls): | 475 def Name(cls): |
| 452 return 'smoothness.pathological_mobile_sites' | 476 return 'smoothness.pathological_mobile_sites' |
| 453 | 477 |
| 454 @classmethod | 478 @classmethod |
| 455 def ShouldDisable(cls, possible_browser): | 479 def ShouldDisable(cls, possible_browser): |
| 456 # http://crbug.com/685342 | 480 # http://crbug.com/685342 |
| 457 if possible_browser.platform.GetDeviceTypeName() == 'Nexus 7': | 481 if possible_browser.platform.GetDeviceTypeName() == 'Nexus 7': |
| 458 return True | 482 return True |
| 459 return False | 483 return False |
| 460 | 484 |
| 461 | 485 |
| 486 @benchmark.Owner(emails=['vmiura@chromium.org']) |
| 462 class SmoothnessToughTextureUploadCases(_Smoothness): | 487 class SmoothnessToughTextureUploadCases(_Smoothness): |
| 463 page_set = page_sets.ToughTextureUploadCasesPageSet | 488 page_set = page_sets.ToughTextureUploadCasesPageSet |
| 464 | 489 |
| 465 @classmethod | 490 @classmethod |
| 466 def Name(cls): | 491 def Name(cls): |
| 467 return 'smoothness.tough_texture_upload_cases' | 492 return 'smoothness.tough_texture_upload_cases' |
| 468 | 493 |
| 469 | 494 |
| 495 @benchmark.Owner(emails=['skyostil@chromium.org']) |
| 470 class SmoothnessToughAdCases(_Smoothness): | 496 class SmoothnessToughAdCases(_Smoothness): |
| 471 """Measures rendering statistics while displaying advertisements.""" | 497 """Measures rendering statistics while displaying advertisements.""" |
| 472 page_set = page_sets.SyntheticToughAdCasesPageSet | 498 page_set = page_sets.SyntheticToughAdCasesPageSet |
| 473 | 499 |
| 474 @classmethod | 500 @classmethod |
| 475 def Name(cls): | 501 def Name(cls): |
| 476 return 'smoothness.tough_ad_cases' | 502 return 'smoothness.tough_ad_cases' |
| 477 | 503 |
| 478 @classmethod | 504 @classmethod |
| 479 def ShouldDisable(cls, possible_browser): | 505 def ShouldDisable(cls, possible_browser): |
| 480 return cls.IsSvelte(possible_browser) # http://crbug.com/555089 | 506 return cls.IsSvelte(possible_browser) # http://crbug.com/555089 |
| 481 | 507 |
| 482 @classmethod | 508 @classmethod |
| 483 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 509 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| 484 del is_first_result # unused | 510 del is_first_result # unused |
| 485 # These pages don't scroll so it's not necessary to measure input latency. | 511 # These pages don't scroll so it's not necessary to measure input latency. |
| 486 return value.name != 'first_gesture_scroll_update_latency' | 512 return value.name != 'first_gesture_scroll_update_latency' |
| 487 | 513 |
| 488 | 514 |
| 489 # http://crbug.com/522619 (mac/win) | 515 # http://crbug.com/522619 (mac/win) |
| 490 # http://crbug.com/683247 (android/linux) | 516 # http://crbug.com/683247 (android/linux) |
| 491 @benchmark.Disabled('win', 'mac', 'android', 'linux') | 517 @benchmark.Disabled('win', 'mac', 'android', 'linux') |
| 518 @benchmark.Owner(emails=['skyostil@chromium.org']) |
| 492 class SmoothnessScrollingToughAdCases(_Smoothness): | 519 class SmoothnessScrollingToughAdCases(_Smoothness): |
| 493 """Measures rendering statistics while scrolling advertisements.""" | 520 """Measures rendering statistics while scrolling advertisements.""" |
| 494 page_set = page_sets.ScrollingToughAdCasesPageSet | 521 page_set = page_sets.ScrollingToughAdCasesPageSet |
| 495 | 522 |
| 496 @classmethod | 523 @classmethod |
| 497 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 524 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
| 498 return (possible_browser.browser_type == 'reference' and | 525 return (possible_browser.browser_type == 'reference' and |
| 499 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 526 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
| 500 | 527 |
| 501 @classmethod | 528 @classmethod |
| 502 def Name(cls): | 529 def Name(cls): |
| 503 return 'smoothness.scrolling_tough_ad_cases' | 530 return 'smoothness.scrolling_tough_ad_cases' |
| 504 | 531 |
| 505 | 532 |
| 533 @benchmark.Owner(emails=['skyostil@chromium.org']) |
| 506 class SmoothnessToughWebGLAdCases(_Smoothness): | 534 class SmoothnessToughWebGLAdCases(_Smoothness): |
| 507 """Measures rendering statistics while scrolling advertisements.""" | 535 """Measures rendering statistics while scrolling advertisements.""" |
| 508 page_set = page_sets.SyntheticToughWebglAdCasesPageSet | 536 page_set = page_sets.SyntheticToughWebglAdCasesPageSet |
| 509 | 537 |
| 510 @classmethod | 538 @classmethod |
| 511 def Name(cls): | 539 def Name(cls): |
| 512 return 'smoothness.tough_webgl_ad_cases' | 540 return 'smoothness.tough_webgl_ad_cases' |
| 513 | 541 |
| 514 @classmethod | 542 @classmethod |
| 515 def ShouldDisable(cls, possible_browser): | 543 def ShouldDisable(cls, possible_browser): |
| 516 return cls.IsSvelte(possible_browser) # http://crbug.com/574485 | 544 return cls.IsSvelte(possible_browser) # http://crbug.com/574485 |
| OLD | NEW |