| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from core import perf_benchmark |
| |
| from benchmarks import silk_flags |
| import ct_benchmarks_util |
| from measurements import smoothness |
| import page_sets |
| from telemetry import benchmark |
| |
| |
| class _Repaint(perf_benchmark.PerfBenchmark): |
| |
| @classmethod |
| def AddBenchmarkCommandLineArgs(cls, parser): |
| parser.add_option('--mode', type='string', |
| default='viewport', |
| help='Invalidation mode. ' |
| 'Supported values: fixed_size, layer, random, viewport.') |
| parser.add_option('--width', type='int', |
| default=None, |
| help='Width of invalidations for fixed_size mode.') |
| parser.add_option('--height', type='int', |
| default=None, |
| help='Height of invalidations for fixed_size mode.') |
| |
| @classmethod |
| def Name(cls): |
| return 'repaint' |
| |
| def CreateStorySet(self, options): |
| return page_sets.KeyMobileSitesRepaintPageSet( |
| options.mode, options.width, options.height) |
| |
| def CreatePageTest(self, options): |
| return smoothness.Repaint() |
| |
| # crbug.com/499320 |
| #@benchmark.Enabled('android') |
| |
| |
| @benchmark.Disabled('all') |
| class RepaintKeyMobileSites(_Repaint): |
| """Measures repaint performance on the key mobile sites. |
| |
| http://www.chromium.org/developers/design-documents/rendering-benchmarks""" |
| |
| @classmethod |
| def Name(cls): |
| return 'repaint.key_mobile_sites_repaint' |
| |
| |
| # crbug.com/502179 |
| @benchmark.Enabled('android') |
| @benchmark.Disabled('all') |
| class RepaintGpuRasterizationKeyMobileSites(_Repaint): |
| """Measures repaint performance on the key mobile sites with forced GPU |
| rasterization. |
| |
| http://www.chromium.org/developers/design-documents/rendering-benchmarks""" |
| tag = 'gpu_rasterization' |
| |
| def SetExtraBrowserOptions(self, options): |
| silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) |
| |
| @classmethod |
| def Name(cls): |
| return 'repaint.gpu_rasterization.key_mobile_sites_repaint' |
| |
| |
| # Disabled because we do not plan on running CT benchmarks on the perf |
| # waterfall any time soon. |
| @benchmark.Disabled('all') |
| class RepaintCT(_Repaint): |
| """Measures repaint performance for Cluster Telemetry.""" |
| |
| @classmethod |
| def Name(cls): |
| return 'repaint_ct' |
| |
| @classmethod |
| def AddBenchmarkCommandLineArgs(cls, parser): |
| _Repaint.AddBenchmarkCommandLineArgs(parser) |
| ct_benchmarks_util.AddBenchmarkCommandLineArgs(parser) |
| |
| @classmethod |
| def ProcessCommandLineArgs(cls, parser, args): |
| ct_benchmarks_util.ValidateCommandLineArgs(parser, args) |
| |
| def CreateStorySet(self, options): |
| return page_sets.CTPageSet( |
| options.urls_list, options.user_agent, options.archive_data_file) |