Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Unified Diff: tools/perf/page_sets/motionmark.py

Issue 2771343003: Add a MotionMark smoothness benchmark.
Patch Set: Add --enable-experimental-canvas-features Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/page_sets/data/motionmark_000.wpr.sha1 ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/page_sets/motionmark.py
diff --git a/tools/perf/page_sets/motionmark.py b/tools/perf/page_sets/motionmark.py
new file mode 100644
index 0000000000000000000000000000000000000000..1664832b6055342fa8da7ad8c608a352c0cb9150
--- /dev/null
+++ b/tools/perf/page_sets/motionmark.py
@@ -0,0 +1,102 @@
+# 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 page as page_module
+from telemetry import story
+
+
+class MotionMarkPage(page_module.Page):
+ def __init__(self, page_set, suite_name, test_name, complexity):
+ name = suite_name + ' - ' + test_name
+ suite_name = ''.join(c for c in suite_name if c not in ' .,')
+ test_name = ''.join(c for c in test_name if c not in ' .,')
+ url = (
+ '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=performance'
+ ) % (suite_name, test_name, complexity)
+ super(MotionMarkPage, self).__init__(
+ url=url, page_set=page_set, name=name)
+
+ def RunPageInteractions(self, action_runner):
+ with action_runner.CreateInteraction('Filter'):
+ action_runner.Wait(2)
+
+class MotionMarkPageSet(story.StorySet):
+ """
+ Description: MotionMark test suites.
+ """
+ def __init__(self):
+ super(MotionMarkPageSet, self).__init__(
+ archive_data_file='data/motionmark.json',
+ cloud_storage_bucket=story.PARTNER_BUCKET)
+
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Multiply', 1000))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Canvas Arcs', 1200))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Leaves', 1400))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Paths', 2500))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Canvas Lines', 7500))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Focus', 200))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Images', 100))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Design', 200))
+ self.AddStory(MotionMarkPage(self, 'Animometer', 'Suits', 800))
+
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing circles', 1200))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing clipped rects', 800))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing gradient circles', 1200))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing blend circles', 600))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing filter circles', 300))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing SVG images', 400))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'CSS bouncing tagged images', 1000))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'Leaves 2.0', 1200))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'Focus 2.0', 200))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'DOM particles, SVG masks', 300))
+ self.AddStory(MotionMarkPage(
+ self, 'HTML suite', 'Composited Transforms', 1200))
+
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'canvas bouncing clipped rects', 1500))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'canvas bouncing gradient circles', 2000))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'canvas bouncing SVG images', 500))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'canvas bouncing PNG images', 5000))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'Stroke shapes', 800))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'Fill shapes', 1000))
+ self.AddStory(MotionMarkPage(
+ self, 'Canvas suite', 'Canvas put/get image data', 1000))
+
+ self.AddStory(MotionMarkPage(
+ self, 'SVG suite', 'SVG bouncing circles', 3500))
+ self.AddStory(MotionMarkPage(
+ self, 'SVG suite', 'SVG bouncing clipped rects', 800))
+ self.AddStory(MotionMarkPage(
+ self, 'SVG suite', 'SVG bouncing gradient circles', 2200))
+ self.AddStory(MotionMarkPage(
+ self, 'SVG suite', 'SVG bouncing SVG images', 400))
+ self.AddStory(MotionMarkPage(
+ self, 'SVG suite', 'SVG bouncing PNG images', 700))
+
+ self.AddStory(MotionMarkPage(self, '3D Graphics', 'WebGL', 18000))
« no previous file with comments | « tools/perf/page_sets/data/motionmark_000.wpr.sha1 ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698