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 |