| Index: tools/perf/benchmarks/smoothness.py
|
| diff --git a/tools/perf/benchmarks/smoothness.py b/tools/perf/benchmarks/smoothness.py
|
| index 6021c4a26f6ead7541469c0f8f65ed4cfe5d95b3..0dd6d9afecb91f5e7c6cc25925e81bb059cfa8ad 100644
|
| --- a/tools/perf/benchmarks/smoothness.py
|
| +++ b/tools/perf/benchmarks/smoothness.py
|
| @@ -11,12 +11,35 @@ import page_sets.key_silk_cases
|
| from telemetry import benchmark
|
|
|
|
|
| -class SmoothnessTop25(perf_benchmark.PerfBenchmark):
|
| +class _Smoothness(perf_benchmark.PerfBenchmark):
|
| + """Base class for smoothness-based benchmarks."""
|
| +
|
| + # Certain smoothness pages do not perform gesture scrolling, in turn yielding
|
| + # an empty first_gesture_scroll_update_latency result. Such empty results
|
| + # should be ignored, allowing aggregate metrics for that page set.
|
| + _PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST = [
|
| + 'http://mobile-news.sandbox.google.com/news/pt0']
|
| +
|
| + test = smoothness.Smoothness
|
| +
|
| + @classmethod
|
| + def Name(cls):
|
| + return 'smoothness'
|
| +
|
| + @classmethod
|
| + def ValueCanBeAddedPredicate(cls, value, _):
|
| + if (value.name == 'first_gesture_scroll_update_latency' and
|
| + value.page.url in cls._PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST and
|
| + value.values is None):
|
| + return False
|
| + return True
|
| +
|
| +
|
| +class SmoothnessTop25(_Smoothness):
|
| """Measures rendering statistics while scrolling down the top 25 web pages.
|
|
|
| http://www.chromium.org/developers/design-documents/rendering-benchmarks
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.Top25SmoothPageSet
|
|
|
| @classmethod
|
| @@ -24,12 +47,11 @@ class SmoothnessTop25(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.top_25_smooth'
|
|
|
|
|
| -class SmoothnessToughFiltersCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughFiltersCases(_Smoothness):
|
| """Measures frame rate and a variety of other statistics.
|
|
|
| Uses a selection of pages making use of SVG and CSS Filter Effects.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughFiltersCasesPageSet
|
|
|
| @classmethod
|
| @@ -37,11 +59,10 @@ class SmoothnessToughFiltersCases(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.tough_filters_cases'
|
|
|
|
|
| -class SmoothnessToughPathRenderingCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughPathRenderingCases(_Smoothness):
|
| """Tests a selection of pages with SVG and 2D Canvas paths.
|
|
|
| Measures frame rate and a variety of other statistics. """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughPathRenderingCasesPageSet
|
|
|
| @classmethod
|
| @@ -50,12 +71,11 @@ class SmoothnessToughPathRenderingCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('android') # crbug.com/526901
|
| -class SmoothnessToughCanvasCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughCanvasCases(_Smoothness):
|
| """Measures frame rate and a variety of other statistics.
|
|
|
| Uses a selection of pages making use of the 2D Canvas API.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughCanvasCasesPageSet
|
|
|
| @classmethod
|
| @@ -64,8 +84,7 @@ class SmoothnessToughCanvasCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('android') # crbug.com/373812
|
| -class SmoothnessToughWebGLCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessToughWebGLCases(_Smoothness):
|
| page_set = page_sets.ToughWebglCasesPageSet
|
|
|
| @classmethod
|
| @@ -83,8 +102,7 @@ class SmoothnessMaps(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('android')
|
| -class SmoothnessKeyDesktopMoveCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessKeyDesktopMoveCases(_Smoothness):
|
| page_set = page_sets.KeyDesktopMoveCasesPageSet
|
|
|
| @classmethod
|
| @@ -93,12 +111,11 @@ class SmoothnessKeyDesktopMoveCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessKeyMobileSites(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessKeyMobileSites(_Smoothness):
|
| """Measures rendering statistics while scrolling down the key mobile sites.
|
|
|
| http://www.chromium.org/developers/design-documents/rendering-benchmarks
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.KeyMobileSitesSmoothPageSet
|
|
|
| @classmethod
|
| @@ -106,7 +123,7 @@ class SmoothnessKeyMobileSites(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.key_mobile_sites_smooth'
|
|
|
|
|
| -class SmoothnessToughAnimationCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughAnimationCases(_Smoothness):
|
| test = smoothness.SmoothnessWithRestart
|
| page_set = page_sets.ToughAnimationCasesPageSet
|
|
|
| @@ -116,11 +133,10 @@ class SmoothnessToughAnimationCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessKeySilkCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessKeySilkCases(_Smoothness):
|
| """Measures rendering statistics for the key silk cases without GPU
|
| rasterization.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.KeySilkCasesPageSet
|
|
|
| @classmethod
|
| @@ -138,11 +154,10 @@ class SmoothnessKeySilkCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessGpuRasterizationTop25(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuRasterizationTop25(_Smoothness):
|
| """Measures rendering statistics for the top 25 with GPU rasterization.
|
| """
|
| tag = 'gpu_rasterization'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.Top25SmoothPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -154,12 +169,11 @@ class SmoothnessGpuRasterizationTop25(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessGpuRasterizationKeyMobileSites(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuRasterizationKeyMobileSites(_Smoothness):
|
| """Measures rendering statistics for the key mobile sites with GPU
|
| rasterization.
|
| """
|
| tag = 'gpu_rasterization'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.KeyMobileSitesSmoothPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -170,13 +184,11 @@ class SmoothnessGpuRasterizationKeyMobileSites(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.gpu_rasterization.key_mobile_sites_smooth'
|
|
|
|
|
| -class SmoothnessGpuRasterizationToughPathRenderingCases(
|
| - perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuRasterizationToughPathRenderingCases(_Smoothness):
|
| """Tests a selection of pages with SVG and 2D canvas paths with GPU
|
| rasterization.
|
| """
|
| tag = 'gpu_rasterization'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughPathRenderingCasesPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -187,12 +199,11 @@ class SmoothnessGpuRasterizationToughPathRenderingCases(
|
| return 'smoothness.gpu_rasterization.tough_path_rendering_cases'
|
|
|
|
|
| -class SmoothnessGpuRasterizationFiltersCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuRasterizationFiltersCases(_Smoothness):
|
| """Tests a selection of pages with SVG and CSS filter effects with GPU
|
| rasterization.
|
| """
|
| tag = 'gpu_rasterization'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughFiltersCasesPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -204,12 +215,11 @@ class SmoothnessGpuRasterizationFiltersCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessSyncScrollKeyMobileSites(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessSyncScrollKeyMobileSites(_Smoothness):
|
| """Measures rendering statistics for the key mobile sites with synchronous
|
| (main thread) scrolling.
|
| """
|
| tag = 'sync_scroll'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.KeyMobileSitesSmoothPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -221,10 +231,9 @@ class SmoothnessSyncScrollKeyMobileSites(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessSimpleMobilePages(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessSimpleMobilePages(_Smoothness):
|
| """Measures rendering statistics for simple mobile sites page set.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.SimpleMobileSitesPageSet
|
|
|
| @classmethod
|
| @@ -233,10 +242,9 @@ class SmoothnessSimpleMobilePages(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessFlingSimpleMobilePages(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessFlingSimpleMobilePages(_Smoothness):
|
| """Measures rendering statistics for flinging a simple mobile sites page set.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.SimpleMobileSitesFlingPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -251,11 +259,10 @@ class SmoothnessFlingSimpleMobilePages(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android', 'chromeos', 'mac')
|
| -class SmoothnessToughPinchZoomCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughPinchZoomCases(_Smoothness):
|
| """Measures rendering statistics for pinch-zooming into the tough pinch zoom
|
| cases.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughPinchZoomCasesPageSet
|
|
|
| @classmethod
|
| @@ -264,9 +271,8 @@ class SmoothnessToughPinchZoomCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android', 'chromeos')
|
| -class SmoothnessToughScrollingWhileZoomedInCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughScrollingWhileZoomedInCases(_Smoothness):
|
| """Measures rendering statistics for pinch-zooming then diagonal scrolling"""
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet
|
|
|
| @classmethod
|
| @@ -275,10 +281,9 @@ class SmoothnessToughScrollingWhileZoomedInCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessPolymer(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessPolymer(_Smoothness):
|
| """Measures rendering statistics for Polymer cases.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.PolymerPageSet
|
|
|
| @classmethod
|
| @@ -287,11 +292,10 @@ class SmoothnessPolymer(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessGpuRasterizationPolymer(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuRasterizationPolymer(_Smoothness):
|
| """Measures rendering statistics for the Polymer cases with GPU rasterization.
|
| """
|
| tag = 'gpu_rasterization'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.PolymerPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -302,8 +306,7 @@ class SmoothnessGpuRasterizationPolymer(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.gpu_rasterization.polymer'
|
|
|
|
|
| -class SmoothnessToughScrollingCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessToughScrollingCases(_Smoothness):
|
| page_set = page_sets.ToughScrollingCasesPageSet
|
|
|
| @classmethod
|
| @@ -311,8 +314,7 @@ class SmoothnessToughScrollingCases(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.tough_scrolling_cases'
|
|
|
| @benchmark.Disabled('android') # http://crbug.com/531593
|
| -class SmoothnessToughImageDecodeCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessToughImageDecodeCases(_Smoothness):
|
| page_set = page_sets.ToughImageDecodeCasesPageSet
|
|
|
| @classmethod
|
| @@ -320,10 +322,9 @@ class SmoothnessToughImageDecodeCases(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.tough_image_decode_cases'
|
|
|
| @benchmark.Disabled('android') # http://crbug.com/513699
|
| -class SmoothnessImageDecodingCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessImageDecodingCases(_Smoothness):
|
| """Measures decoding statistics for jpeg images.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ImageDecodingCasesPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -336,11 +337,10 @@ class SmoothnessImageDecodingCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('android') # http://crbug.com/513699
|
| -class SmoothnessGpuImageDecodingCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessGpuImageDecodingCases(_Smoothness):
|
| """Measures decoding statistics for jpeg images with GPU rasterization.
|
| """
|
| tag = 'gpu_rasterization_and_decoding'
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ImageDecodingCasesPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -354,10 +354,9 @@ class SmoothnessGpuImageDecodingCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Enabled('android')
|
| -class SmoothnessPathologicalMobileSites(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessPathologicalMobileSites(_Smoothness):
|
| """Measures task execution statistics while scrolling pathological sites.
|
| """
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.PathologicalMobileSitesPageSet
|
|
|
| @classmethod
|
| @@ -365,8 +364,7 @@ class SmoothnessPathologicalMobileSites(perf_benchmark.PerfBenchmark):
|
| return 'smoothness.pathological_mobile_sites'
|
|
|
|
|
| -class SmoothnessToughAnimatedImageCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessToughAnimatedImageCases(_Smoothness):
|
| page_set = page_sets.ToughAnimatedImageCasesPageSet
|
|
|
| @classmethod
|
| @@ -375,8 +373,7 @@ class SmoothnessToughAnimatedImageCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('reference') # http://crbug.com/499489
|
| -class SmoothnessToughTextureUploadCases(perf_benchmark.PerfBenchmark):
|
| - test = smoothness.Smoothness
|
| +class SmoothnessToughTextureUploadCases(_Smoothness):
|
| page_set = page_sets.ToughTextureUploadCasesPageSet
|
|
|
| @classmethod
|
| @@ -385,9 +382,8 @@ class SmoothnessToughTextureUploadCases(perf_benchmark.PerfBenchmark):
|
|
|
|
|
| @benchmark.Disabled('reference') # http://crbug.com/496684
|
| -class SmoothnessToughAdCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughAdCases(_Smoothness):
|
| """Measures rendering statistics while displaying advertisements."""
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughAdCasesPageSet
|
|
|
| @classmethod
|
| @@ -398,9 +394,8 @@ class SmoothnessToughAdCases(perf_benchmark.PerfBenchmark):
|
| # http://crbug.com/496684 (reference)
|
| # http://crbug.com/522619 (mac/win)
|
| @benchmark.Disabled('reference', 'win', 'mac')
|
| -class SmoothnessScrollingToughAdCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessScrollingToughAdCases(_Smoothness):
|
| """Measures rendering statistics while scrolling advertisements."""
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ScrollingToughAdCasesPageSet
|
|
|
| @classmethod
|
| @@ -411,10 +406,8 @@ class SmoothnessScrollingToughAdCases(perf_benchmark.PerfBenchmark):
|
| # http://crbug.com/496684 (reference)
|
| # http://crbug.com/522619 (mac/win)
|
| @benchmark.Disabled('reference', 'win', 'mac')
|
| -class SmoothnessBidirectionallyScrollingToughAdCases(
|
| - perf_benchmark.PerfBenchmark):
|
| +class SmoothnessBidirectionallyScrollingToughAdCases(_Smoothness):
|
| """Measures rendering statistics while scrolling advertisements."""
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.BidirectionallyScrollingToughAdCasesPageSet
|
|
|
| def SetExtraBrowserOptions(self, options):
|
| @@ -427,9 +420,8 @@ class SmoothnessBidirectionallyScrollingToughAdCases(
|
|
|
|
|
| @benchmark.Disabled('reference') # http://crbug.com/496684
|
| -class SmoothnessToughWebGLAdCases(perf_benchmark.PerfBenchmark):
|
| +class SmoothnessToughWebGLAdCases(_Smoothness):
|
| """Measures rendering statistics while scrolling advertisements."""
|
| - test = smoothness.Smoothness
|
| page_set = page_sets.ToughWebglAdCasesPageSet
|
|
|
| @classmethod
|
|
|