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)) |