Commit 3e400a74 authored by Victor Miura's avatar Victor Miura Committed by Commit Bot

Rendering benchmarks based on MotionMark HTML and SVG tests.

These tests run MotionMark with fixed complexity sufficient to
saturate most mobile phones today.  Excludes Canvas tests which
are already included in other story sets.

BUG=619680

Change-Id: Id199dc6d7c5d497941c33405a069de6a9fc26980
Reviewed-on: https://chromium-review.googlesource.com/1244544
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: default avatarNed Nguyen <nednguyen@google.com>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594746}
parent 1ef23c93
...@@ -43,7 +43,7 @@ power.typical_10_mobile,perezju@chromium.org,,https://bit.ly/power-benchmarks, ...@@ -43,7 +43,7 @@ power.typical_10_mobile,perezju@chromium.org,,https://bit.ly/power-benchmarks,
rasterize_and_record_micro.partial_invalidation,"vmpstr@chromium.org, wkorman@chromium.org",Internals>Compositing>Rasterization,, rasterize_and_record_micro.partial_invalidation,"vmpstr@chromium.org, wkorman@chromium.org",Internals>Compositing>Rasterization,,
rasterize_and_record_micro.top_25,"vmpstr@chromium.org, wkorman@chromium.org",Internals>Compositing>Rasterization,, rasterize_and_record_micro.top_25,"vmpstr@chromium.org, wkorman@chromium.org",Internals>Compositing>Rasterization,,
rendering.desktop,"sadrul@chromium.org, vmiura@chromium.org",Internals>GPU>Metrics,https://bit.ly/rendering-benchmarks,"gpu_rasterization,image_decoding,key_desktop_move,maps,required_webgl,top_real_world_desktop,tough_animation,tough_canvas,tough_compositor,tough_filters,tough_image_decode,tough_path_rendering,tough_pinch_zoom,tough_scheduling,tough_scrolling,tough_texture_upload,tough_webgl,use_fake_camera_device" rendering.desktop,"sadrul@chromium.org, vmiura@chromium.org",Internals>GPU>Metrics,https://bit.ly/rendering-benchmarks,"gpu_rasterization,image_decoding,key_desktop_move,maps,required_webgl,top_real_world_desktop,tough_animation,tough_canvas,tough_compositor,tough_filters,tough_image_decode,tough_path_rendering,tough_pinch_zoom,tough_scheduling,tough_scrolling,tough_texture_upload,tough_webgl,use_fake_camera_device"
rendering.mobile,"sadrul@chromium.org, vmiura@chromium.org",Internals>GPU>Metrics,https://bit.ly/rendering-benchmarks,"fastpath,gpu_rasterization,image_decoding,key_hit_test,key_idle_power,key_noop,key_silk,maps,pathological_mobile_sites,polymer,required_webgl,simple_mobile_sites,sync_scroll,top_real_world_desktop,top_real_world_mobile,tough_animation,tough_canvas,tough_compositor,tough_filters,tough_image_decode,tough_path_rendering,tough_scheduling,tough_scrolling,tough_texture_upload,tough_webgl,use_fake_camera_device" rendering.mobile,"sadrul@chromium.org, vmiura@chromium.org",Internals>GPU>Metrics,https://bit.ly/rendering-benchmarks,"fastpath,gpu_rasterization,image_decoding,key_hit_test,key_idle_power,key_noop,key_silk,maps,motionmark,pathological_mobile_sites,polymer,required_webgl,simple_mobile_sites,sync_scroll,top_real_world_desktop,top_real_world_mobile,tough_animation,tough_canvas,tough_compositor,tough_filters,tough_image_decode,tough_path_rendering,tough_scheduling,tough_scrolling,tough_texture_upload,tough_webgl,use_fake_camera_device"
resource_sizes,"agrieve@chromium.org, rnephew@chromium.org, perezju@chromium.org",,, resource_sizes,"agrieve@chromium.org, rnephew@chromium.org, perezju@chromium.org",,,
sizes (linux),thestig@chromium.org,,, sizes (linux),thestig@chromium.org,,,
sizes (mac),tapted@chromium.org,,, sizes (mac),tapted@chromium.org,,,
......
...@@ -426,6 +426,72 @@ ...@@ -426,6 +426,72 @@
"motion_mark_focus": { "motion_mark_focus": {
"DEFAULT": "rendering_mobile_002.wprgo" "DEFAULT": "rendering_mobile_002.wprgo"
}, },
"motionmark_anim_design_15": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_anim_focus_25": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_anim_images_50": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_anim_leaves_250": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_anim_multiply_175": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_anim_suits_125": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_composited_transforms_125": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_blend_circles_25": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_circles_250": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_clipped_rects_100": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_filter_circles_15": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_gradient_circles_250": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_svg_images_50": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_css_bouncing_tagged_images_225": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_dom_particles_svg_masks_25": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_focus_20_15": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_html_leaves_20_50": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_svg_bouncing_circles_250": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_svg_bouncing_clipped_rects_100": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_svg_bouncing_gradient_circles_200": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_svg_bouncing_png_images_200": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"motionmark_svg_bouncing_svg_images_50": {
"DEFAULT": "rendering_mobile_f7f3ea1d6e.wprgo"
},
"new_tilings": { "new_tilings": {
"DEFAULT": "rendering_mobile_010.wprgo" "DEFAULT": "rendering_mobile_010.wprgo"
}, },
......
089f7a271014c83f8d2dab74da4fc5642cf3465e
\ No newline at end of file
f7f3ea1d6eaccd46afc48b9d967e90d2ca470c7c
\ No newline at end of file
f86ce4f9f07242df88ae041f13b6105ac48a37c0
\ No newline at end of file
# Copyright 2017 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 telemetry.page import shared_page_state
from page_sets.rendering import rendering_story
from page_sets.rendering import story_tags
from page_sets.system_health import platforms
class MotionMarkPage(rendering_story.RenderingStory):
ABSTRACT_STORY = True
TAGS = [story_tags.MOTIONMARK]
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
def __init__(self,
page_set,
shared_page_state_class=shared_page_state.SharedMobilePageState,
name_suffix='',
extra_browser_args=None):
super(MotionMarkPage, self).__init__(
page_set=page_set,
shared_page_state_class=shared_page_state_class,
name_suffix=name_suffix,
extra_browser_args=['--report-silk-details', '--disable-top-sites'])
def RunNavigateSteps(self, action_runner):
action_runner.Navigate(self.url)
action_runner.WaitForJavaScriptCondition(
'document.readyState == "complete"')
def RunPageInteractions(self, action_runner):
action_runner.Wait(3)
with action_runner.CreateInteraction('Filter'):
action_runner.Wait(5)
# Navigate to about:blank to stop rendering frames and let the device
# cool down while the trace data for the story is processed.
action_runner.Navigate('about:blank')
@classmethod
def GetUrl(cls, suite_name, test_name, complexity):
# Strip unwanted characters from names
for ch in [' ', '.', ',']:
suite_name = suite_name.replace(ch, '')
test_name = test_name.replace(ch, '')
return (
'http://browserbench.org/MotionMark/developer.html'
'?suite-name=%s'
'&test-name=%s'
'&complexity=%d'
'&test-interval=20'
'&display=minimal'
'&tiles=big'
'&controller=fixed'
'&frame-rate=50'
'&kalman-process-error=1'
'&kalman-measurement-error=4'
'&time-measurement=raf'
) % (suite_name, test_name, complexity)
# Why: MotionMark Animometer case """
class MotionmarkAnimMultiply175(MotionMarkPage):
BASE_NAME = 'motionmark_anim_multiply_175'
URL = MotionMarkPage.GetUrl('Animometer', 'Multiply', 175)
# Why: MotionMark Animometer case """
class MotionmarkAnimLeaves250(MotionMarkPage):
BASE_NAME = 'motionmark_anim_leaves_250'
URL = MotionMarkPage.GetUrl('Animometer', 'Leaves', 250)
# Why: MotionMark Animometer case """
class MotionmarkAnimFocus25(MotionMarkPage):
BASE_NAME = 'motionmark_anim_focus_25'
URL = MotionMarkPage.GetUrl('Animometer', 'Focus', 25)
# Why: MotionMark Animometer case """
class MotionmarkAnimImages50(MotionMarkPage):
BASE_NAME = 'motionmark_anim_images_50'
URL = MotionMarkPage.GetUrl('Animometer', 'Images', 50)
# Why: MotionMark Animometer case """
class MotionmarkAnimDesign15(MotionMarkPage):
BASE_NAME = 'motionmark_anim_design_15'
URL = MotionMarkPage.GetUrl('Animometer', 'Design', 15)
# Why: MotionMark Animometer case """
class MotionmarkAnimSuits125(MotionMarkPage):
BASE_NAME = 'motionmark_anim_suits_125'
URL = MotionMarkPage.GetUrl('Animometer', 'Suits', 125)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingCircles250(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_circles_250'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing circles', 250)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingClippedRects100(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_clipped_rects_100'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing clipped rects', 100)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingGradientCircles250(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_gradient_circles_250'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing gradient circles',
250)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingBlendCircles25(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_blend_circles_25'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing blend circles', 25)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingFilterCircles15(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_filter_circles_15'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing filter circles', 15)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingSVGImages50(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_svg_images_50'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing SVG images', 50)
# Why: MotionMark HTML case """
class MotionmarkHTMLCSSBouncingTaggedImages225(MotionMarkPage):
BASE_NAME = 'motionmark_html_css_bouncing_tagged_images_225'
URL = MotionMarkPage.GetUrl('HTML suite', 'CSS bouncing tagged images', 225)
# Why: MotionMark HTML case """
class MotionmarkHTMLLeaves20_50(MotionMarkPage):
BASE_NAME = 'motionmark_html_leaves_20_50'
URL = MotionMarkPage.GetUrl('HTML suite', 'Leaves 2.0', 50)
# Why: MotionMark HTML case """
class MotionmarkHTMLFocus20_15(MotionMarkPage):
BASE_NAME = 'motionmark_html_focus_20_15'
URL = MotionMarkPage.GetUrl('HTML suite', 'Focus 2.0', 15)
# Why: MotionMark HTML case """
class MotionmarkHTMLDomParticlesSvgMasks25(MotionMarkPage):
BASE_NAME = 'motionmark_html_dom_particles_svg_masks_25'
URL = MotionMarkPage.GetUrl('HTML suite', 'DOM particles, SVG masks', 25)
# Why: MotionMark HTML case """
class MotionmarkHTMLCompositedTransforms125(MotionMarkPage):
BASE_NAME = 'motionmark_html_composited_transforms_125'
URL = MotionMarkPage.GetUrl('HTML suite', 'Composited Transforms', 125)
# Why: MotionMark SVG case """
class MotionmarkSVGBouncingCircles250(MotionMarkPage):
BASE_NAME = 'motionmark_svg_bouncing_circles_250'
URL = MotionMarkPage.GetUrl('SVG suite', 'SVG bouncing circles', 250)
# Why: MotionMark SVG case """
class MotionmarkSVGBouncingClippedRects100(MotionMarkPage):
BASE_NAME = 'motionmark_svg_bouncing_clipped_rects_100'
URL = MotionMarkPage.GetUrl('SVG suite', 'SVG bouncing clipped rects', 100)
# Why: MotionMark SVG case """
class MotionmarkSVGBouncingGradientCircles200(MotionMarkPage):
BASE_NAME = 'motionmark_svg_bouncing_gradient_circles_200'
URL = MotionMarkPage.GetUrl('SVG suite', 'SVG bouncing gradient circles', 200)
# Why: MotionMark SVG case """
class MotionmarkSVGBouncingSVGImages50(MotionMarkPage):
BASE_NAME = 'motionmark_svg_bouncing_svg_images_50'
URL = MotionMarkPage.GetUrl('SVG suite', 'SVG bouncing SVG images', 50)
# Why: MotionMark SVG case """
class MotionmarkSVGBouncingPNGImages200(MotionMarkPage):
BASE_NAME = 'motionmark_svg_bouncing_png_images_200'
URL = MotionMarkPage.GetUrl('SVG suite', 'SVG bouncing png images', 200)
...@@ -38,6 +38,8 @@ KEY_IDLE_POWER = Tag( ...@@ -38,6 +38,8 @@ KEY_IDLE_POWER = Tag(
'key_idle_power', 'Key idle power stories') 'key_idle_power', 'Key idle power stories')
MAPS = Tag( MAPS = Tag(
'maps', 'Maps stories') 'maps', 'Maps stories')
MOTIONMARK = Tag(
'motionmark', 'Motionmark benchmark stories')
PATHOLOGICAL_MOBILE_SITES = Tag( PATHOLOGICAL_MOBILE_SITES = Tag(
'pathological_mobile_sites', 'Pathological mobile sites') 'pathological_mobile_sites', 'Pathological mobile sites')
POLYMER = Tag( POLYMER = Tag(
......
...@@ -27,12 +27,6 @@ class ToughFiltersCasesPage(rendering_story.RenderingStory): ...@@ -27,12 +27,6 @@ class ToughFiltersCasesPage(rendering_story.RenderingStory):
action_runner.Wait(10) action_runner.Wait(10)
class MotionMarkPage(ToughFiltersCasesPage):
BASE_NAME = 'motion_mark_focus'
# pylint: disable=line-too-long
URL = 'http://rawgit.com/WebKit/webkit/master/PerformanceTests/Animometer/developer.html?test-interval=20&display=minimal&controller=fixed&frame-rate=50&kalman-process-error=1&kalman-measurement-error=4&time-measurement=performance&suite-name=Animometer&test-name=Focus&complexity=100'
class FilterTerrainSVGPage(ToughFiltersCasesPage): class FilterTerrainSVGPage(ToughFiltersCasesPage):
BASE_NAME = 'filter_terrain_svg' BASE_NAME = 'filter_terrain_svg'
URL = 'http://letmespellitoutforyou.com/samples/svg/filter_terrain.svg' URL = 'http://letmespellitoutforyou.com/samples/svg/filter_terrain.svg'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment