haikuwebkit/PerformanceTests/MotionMark/about.html

93 lines
6.2 KiB
HTML
Raw Permalink Normal View History

Add license for MotionMark https://bugs.webkit.org/show_bug.cgi?id=179222 Reviewed by Ryosuke Niwa. * MotionMark/about.html: * MotionMark/developer.html: * MotionMark/index.html: * MotionMark/resources/debug-runner/graph.js: * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: * MotionMark/resources/debug-runner/tests.js: * MotionMark/resources/extensions.js: * MotionMark/resources/statistics.js: * MotionMark/resources/strings.js: * MotionMark/tests/3d/resources/webgl.js: * MotionMark/tests/3d/webgl.html: * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-css-images.html: * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: * MotionMark/tests/dom/compositing-transforms.html: * MotionMark/tests/dom/focus.html: * MotionMark/tests/dom/leaves.html: * MotionMark/tests/dom/particles.html: * MotionMark/tests/dom/resources/compositing-transforms.js: * MotionMark/tests/dom/resources/dom-particles.js: * MotionMark/tests/dom/resources/focus.js: * MotionMark/tests/dom/resources/leaves.js: * MotionMark/tests/master/canvas-stage.html: * MotionMark/tests/master/focus.html: * MotionMark/tests/master/image-data.html: * MotionMark/tests/master/leaves.html: * MotionMark/tests/master/multiply.html: * MotionMark/tests/master/resources/canvas-stage.js: * MotionMark/tests/master/resources/canvas-tests.js: * MotionMark/tests/master/resources/focus.js: * MotionMark/tests/master/resources/image-data.js: * MotionMark/tests/master/resources/leaves.js: * MotionMark/tests/master/resources/multiply.js: * MotionMark/tests/master/resources/particles.js: * MotionMark/tests/master/resources/svg-particles.js: * MotionMark/tests/master/resources/text.js: * MotionMark/tests/master/svg-particles.html: * MotionMark/tests/master/text.html: * MotionMark/tests/resources/main.js: * MotionMark/tests/resources/math.js: * MotionMark/tests/resources/stage.css: * MotionMark/tests/simple/resources/simple-canvas-paths.js: * MotionMark/tests/simple/resources/simple-canvas.js: * MotionMark/tests/simple/resources/tiled-canvas-image.js: * MotionMark/tests/simple/simple-canvas-paths.html: * MotionMark/tests/simple/tiled-canvas-image.html: * MotionMark/tests/template/resources/template-canvas.js: * MotionMark/tests/template/resources/template-css.js: * MotionMark/tests/template/resources/template-svg.js: * MotionMark/tests/template/template-canvas.html: * MotionMark/tests/template/template-css.html: * MotionMark/tests/template/template-svg.html: Canonical link: https://commits.webkit.org/195326@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-11-03 06:20:22 +00:00
<!--
MotionMark: ensure that timestamps are valid during warm up phase of tests https://bugs.webkit.org/show_bug.cgi?id=210640 Reviewed by Said Abou-Hallawa. Ensure that Benchmark._benchmarkStartTimestamp is set during warm up phase. Otherwise it is NaN, which makes the Benchmark.timestamp invalid, which is used by tests like Multiply to drive the animation. When the warm up phase completes, the start timestamp is reset. Update minor version of benchmark with this bug fix, and include version changelog in the about page. For testing, add a parameter that allows for adjusting the length of the warm up phase. It remains at its current default, 100 ms. * MotionMark/about.html: Add section of version changelog. Includes links to webkit.org blog posts. * MotionMark/developer.html: Add parameter for setting warmup length. Remove the Kalman filter parameters, since they should always be fixed. * MotionMark/resources/runner/motionmark.css: Include styles to show version log. * MotionMark/resources/runner/motionmark.js: Factor out default options to a property on window.benchmarkController. Include the default warmup length of 100 ms. (window.benchmarkController.startBenchmark): Refactor to use benchmarkDefaultParameters. * MotionMark/resources/debug-runner/motionmark.js: Ditto. * MotionMark/resources/strings.js: Update version number. * MotionMark/tests/resources/main.js: (_animateLoop): Set _benchmarkTimestamp during the warmup phase. Check the warmup length. The _benchmarkTimestamp variable remains reset when the test begins. Canonical link: https://commits.webkit.org/223865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-24 17:58:55 +00:00
Copyright (C) 2015-2020 Apple Inc. All rights reserved.
Add license for MotionMark https://bugs.webkit.org/show_bug.cgi?id=179222 Reviewed by Ryosuke Niwa. * MotionMark/about.html: * MotionMark/developer.html: * MotionMark/index.html: * MotionMark/resources/debug-runner/graph.js: * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: * MotionMark/resources/debug-runner/tests.js: * MotionMark/resources/extensions.js: * MotionMark/resources/statistics.js: * MotionMark/resources/strings.js: * MotionMark/tests/3d/resources/webgl.js: * MotionMark/tests/3d/webgl.html: * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-css-images.html: * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: * MotionMark/tests/dom/compositing-transforms.html: * MotionMark/tests/dom/focus.html: * MotionMark/tests/dom/leaves.html: * MotionMark/tests/dom/particles.html: * MotionMark/tests/dom/resources/compositing-transforms.js: * MotionMark/tests/dom/resources/dom-particles.js: * MotionMark/tests/dom/resources/focus.js: * MotionMark/tests/dom/resources/leaves.js: * MotionMark/tests/master/canvas-stage.html: * MotionMark/tests/master/focus.html: * MotionMark/tests/master/image-data.html: * MotionMark/tests/master/leaves.html: * MotionMark/tests/master/multiply.html: * MotionMark/tests/master/resources/canvas-stage.js: * MotionMark/tests/master/resources/canvas-tests.js: * MotionMark/tests/master/resources/focus.js: * MotionMark/tests/master/resources/image-data.js: * MotionMark/tests/master/resources/leaves.js: * MotionMark/tests/master/resources/multiply.js: * MotionMark/tests/master/resources/particles.js: * MotionMark/tests/master/resources/svg-particles.js: * MotionMark/tests/master/resources/text.js: * MotionMark/tests/master/svg-particles.html: * MotionMark/tests/master/text.html: * MotionMark/tests/resources/main.js: * MotionMark/tests/resources/math.js: * MotionMark/tests/resources/stage.css: * MotionMark/tests/simple/resources/simple-canvas-paths.js: * MotionMark/tests/simple/resources/simple-canvas.js: * MotionMark/tests/simple/resources/tiled-canvas-image.js: * MotionMark/tests/simple/simple-canvas-paths.html: * MotionMark/tests/simple/tiled-canvas-image.html: * MotionMark/tests/template/resources/template-canvas.js: * MotionMark/tests/template/resources/template-css.js: * MotionMark/tests/template/resources/template-svg.js: * MotionMark/tests/template/template-canvas.html: * MotionMark/tests/template/template-css.html: * MotionMark/tests/template/template-svg.html: Canonical link: https://commits.webkit.org/195326@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-11-03 06:20:22 +00:00
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<title>About MotionMark</title>
<link rel="stylesheet" href="resources/runner/motionmark.css">
[MotionMark] Add support for version numbers https://bugs.webkit.org/show_bug.cgi?id=186479 Reviewed by Said Abou-Hallawa. Add support for displaying the version number as well as including it in the JSON results. When loading the front page, script replaces any element with classname version with the version number of the benchmark, which is stored in Strings.version. The JSON structure for the results includes a new version property: { "version": "1.0", "options": { ... }, "data": [ ... ] } When dragging a results file, the version listed will come from the JSON file. Older results will not have had the version property, in which case it will default to "1.0". * MotionMark/index.html: Update title to some other default. Script will update it. Include the version number in the logo title. * MotionMark/developer.html: Ditto. * MotionMark/about.html: Ditto. * MotionMark/resources/runner/motionmark.js: (ResultsDashboard): Update constructor to include version. This is used when serializing results out to JSON, and displaying the results panel in developer mode. (ResultsDashboard._processData): When running the benchmark, include benchmark version string in the results object. (ResultsDashboard.version): (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.sectionsManager.setSectionVersion): Helper function to update the element in the section with the class name version. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, which would be the same as the benchmark version. * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo in a div and include the version string. * MotionMark/resources/strings.js: Add strings for the page title template, and the version. * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. When dragging in JSON results, look for version to pass to the dashboard. If it doesn't exist, default to "1.0". (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, instead of the current benchmark version. * MotionMark/resources/debug-runner/tests.js: Update page title template. Canonical link: https://commits.webkit.org/202238@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-25 15:38:03 +00:00
<script src="resources/strings.js"></script>
</head>
<body class="images-loaded">
<main>
<section id="about" class="selected">
[MotionMark] Add support for version numbers https://bugs.webkit.org/show_bug.cgi?id=186479 Reviewed by Said Abou-Hallawa. Add support for displaying the version number as well as including it in the JSON results. When loading the front page, script replaces any element with classname version with the version number of the benchmark, which is stored in Strings.version. The JSON structure for the results includes a new version property: { "version": "1.0", "options": { ... }, "data": [ ... ] } When dragging a results file, the version listed will come from the JSON file. Older results will not have had the version property, in which case it will default to "1.0". * MotionMark/index.html: Update title to some other default. Script will update it. Include the version number in the logo title. * MotionMark/developer.html: Ditto. * MotionMark/about.html: Ditto. * MotionMark/resources/runner/motionmark.js: (ResultsDashboard): Update constructor to include version. This is used when serializing results out to JSON, and displaying the results panel in developer mode. (ResultsDashboard._processData): When running the benchmark, include benchmark version string in the results object. (ResultsDashboard.version): (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.sectionsManager.setSectionVersion): Helper function to update the element in the section with the class name version. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, which would be the same as the benchmark version. * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo in a div and include the version string. * MotionMark/resources/strings.js: Add strings for the page title template, and the version. * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. When dragging in JSON results, look for version to pass to the dashboard. If it doesn't exist, default to "1.0". (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, instead of the current benchmark version. * MotionMark/resources/debug-runner/tests.js: Update page title template. Canonical link: https://commits.webkit.org/202238@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-25 15:38:03 +00:00
<div class="logo"><svg><use xlink:href="resources/runner/logo.svg#root" /></svg></div>
<div class="body">
[MotionMark] Add support for version numbers https://bugs.webkit.org/show_bug.cgi?id=186479 Reviewed by Said Abou-Hallawa. Add support for displaying the version number as well as including it in the JSON results. When loading the front page, script replaces any element with classname version with the version number of the benchmark, which is stored in Strings.version. The JSON structure for the results includes a new version property: { "version": "1.0", "options": { ... }, "data": [ ... ] } When dragging a results file, the version listed will come from the JSON file. Older results will not have had the version property, in which case it will default to "1.0". * MotionMark/index.html: Update title to some other default. Script will update it. Include the version number in the logo title. * MotionMark/developer.html: Ditto. * MotionMark/about.html: Ditto. * MotionMark/resources/runner/motionmark.js: (ResultsDashboard): Update constructor to include version. This is used when serializing results out to JSON, and displaying the results panel in developer mode. (ResultsDashboard._processData): When running the benchmark, include benchmark version string in the results object. (ResultsDashboard.version): (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.sectionsManager.setSectionVersion): Helper function to update the element in the section with the class name version. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, which would be the same as the benchmark version. * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo in a div and include the version string. * MotionMark/resources/strings.js: Add strings for the page title template, and the version. * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. When dragging in JSON results, look for version to pass to the dashboard. If it doesn't exist, default to "1.0". (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, instead of the current benchmark version. * MotionMark/resources/debug-runner/tests.js: Update page title template. Canonical link: https://commits.webkit.org/202238@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-25 15:38:03 +00:00
<h1>About MotionMark <span class="version"></span></h1>
<p>MotionMark is a web benchmark that focuses on graphics performance. It draws multiple rendering elements, each of which uses the same set of graphics primitives. An element could be an SVG node, an HTML element with CSS style, or a series of canvas operations. Slight variations among the elements avoid trivial caching optimizations by the browser. Although fairly simple, the effects were chosen to reflect techniques commonly used on the web. Tests are visually rich, being designed to stress the graphics system rather than JavaScript.</p>
<p>After an initial warm-up, each test runs for a fixed period of time. Based on measurements of the browsers frame rate, MotionMark adjusts the number of elements to draw, and concentrates around a narrow range where the browser starts to fail animating at 60 frames per second (fps). A piecewise linear regression is applied to the data, and the change point is reported as the test's score. The confidence interval is calculated through <a href="https://en.wikipedia.org/wiki/Bootstrapping_(statistics)">bootstrapping</a>. MotionMark calculates the geometric mean of all of the tests scores to report the single score for the run.</p>
<p>MotionMark can be run on a wide variety of devices. Using the devices screen dimensions it adjusts the drawing area into one of three sizes:</p>
<ol>
<li>Small (568 x 320), targeted at mobile phones</li>
<li>Medium (900 x 600), targeted at tablets and laptops</li>
<li>Large (1600 x 800), targeted at desktops</li>
</ol>
<p>The design of the benchmark is modular. This makes it easy to write new tests and use different controllers, which can assist a developer working on improving the performance of a web engine. For the purpose of a public benchmark, the MotionMark master suite tests a variety of drawing operations using techniques including CSS, SVG, and Canvas:</p>
<ul>
<li><strong>Multiply</strong>: CSS border radius, transforms, opacity</li>
<li><strong>Arcs and Fills</strong>: Canvas path fills and arcs</li>
MotionMark: ensure that timestamps are valid during warm up phase of tests https://bugs.webkit.org/show_bug.cgi?id=210640 Reviewed by Said Abou-Hallawa. Ensure that Benchmark._benchmarkStartTimestamp is set during warm up phase. Otherwise it is NaN, which makes the Benchmark.timestamp invalid, which is used by tests like Multiply to drive the animation. When the warm up phase completes, the start timestamp is reset. Update minor version of benchmark with this bug fix, and include version changelog in the about page. For testing, add a parameter that allows for adjusting the length of the warm up phase. It remains at its current default, 100 ms. * MotionMark/about.html: Add section of version changelog. Includes links to webkit.org blog posts. * MotionMark/developer.html: Add parameter for setting warmup length. Remove the Kalman filter parameters, since they should always be fixed. * MotionMark/resources/runner/motionmark.css: Include styles to show version log. * MotionMark/resources/runner/motionmark.js: Factor out default options to a property on window.benchmarkController. Include the default warmup length of 100 ms. (window.benchmarkController.startBenchmark): Refactor to use benchmarkDefaultParameters. * MotionMark/resources/debug-runner/motionmark.js: Ditto. * MotionMark/resources/strings.js: Update version number. * MotionMark/tests/resources/main.js: (_animateLoop): Set _benchmarkTimestamp during the warmup phase. Check the warmup length. The _benchmarkTimestamp variable remains reset when the test begins. Canonical link: https://commits.webkit.org/223865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-24 17:58:55 +00:00
<li><strong>Leaves</strong>: CSS-transformed elements, opacity</li>
<li><strong>Paths</strong>: Canvas line, quadratic, and Bezier paths</li>
<li><strong>Lines</strong>: Canvas line segments</li>
<li><strong>Focus</strong>: CSS blur filter, opacity</li>
<li><strong>Images</strong>: Canvas <code>getImageData()</code> and <code>putImageData()</code></li>
<li><strong>Design</strong>: HTML text rendering</li>
<li><strong>Suits</strong>: SVG clip paths, gradients and transforms</li>
</ul>
<p>To achieve consistent results on mobile devices, put the device in landscape orientation. On laptops and desktops, use the default display resolution and make the browser window fullscreen. Make sure that screen automatic display sleep is turned off or set to longer than 8 minutes.</p>
MotionMark: ensure that timestamps are valid during warm up phase of tests https://bugs.webkit.org/show_bug.cgi?id=210640 Reviewed by Said Abou-Hallawa. Ensure that Benchmark._benchmarkStartTimestamp is set during warm up phase. Otherwise it is NaN, which makes the Benchmark.timestamp invalid, which is used by tests like Multiply to drive the animation. When the warm up phase completes, the start timestamp is reset. Update minor version of benchmark with this bug fix, and include version changelog in the about page. For testing, add a parameter that allows for adjusting the length of the warm up phase. It remains at its current default, 100 ms. * MotionMark/about.html: Add section of version changelog. Includes links to webkit.org blog posts. * MotionMark/developer.html: Add parameter for setting warmup length. Remove the Kalman filter parameters, since they should always be fixed. * MotionMark/resources/runner/motionmark.css: Include styles to show version log. * MotionMark/resources/runner/motionmark.js: Factor out default options to a property on window.benchmarkController. Include the default warmup length of 100 ms. (window.benchmarkController.startBenchmark): Refactor to use benchmarkDefaultParameters. * MotionMark/resources/debug-runner/motionmark.js: Ditto. * MotionMark/resources/strings.js: Update version number. * MotionMark/tests/resources/main.js: (_animateLoop): Set _benchmarkTimestamp during the warmup phase. Check the warmup length. The _benchmarkTimestamp variable remains reset when the test begins. Canonical link: https://commits.webkit.org/223865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-24 17:58:55 +00:00
<h3>Version log</h3>
<ul id="log">
<li><strong>1.2</strong>: Fix <a href="https://bugs.webkit.org/show_bug.cgi?id=220847">bug</a>, <a href="https://bugs.webkit.org/show_bug.cgi?id=221075">bug</a>, and <a href="https://bugs.webkit.org/show_bug.cgi?id=219984">bug</a> to reduce test variance and sensitivity to individual long frames.</li>
<li><strong>1.1.1</strong>: Fix <a href="https://bugs.webkit.org/show_bug.cgi?id=210640">bug</a> in the calculation of timestamps used for animation during warm up phase of tests.</li>
MotionMark: ensure that timestamps are valid during warm up phase of tests https://bugs.webkit.org/show_bug.cgi?id=210640 Reviewed by Said Abou-Hallawa. Ensure that Benchmark._benchmarkStartTimestamp is set during warm up phase. Otherwise it is NaN, which makes the Benchmark.timestamp invalid, which is used by tests like Multiply to drive the animation. When the warm up phase completes, the start timestamp is reset. Update minor version of benchmark with this bug fix, and include version changelog in the about page. For testing, add a parameter that allows for adjusting the length of the warm up phase. It remains at its current default, 100 ms. * MotionMark/about.html: Add section of version changelog. Includes links to webkit.org blog posts. * MotionMark/developer.html: Add parameter for setting warmup length. Remove the Kalman filter parameters, since they should always be fixed. * MotionMark/resources/runner/motionmark.css: Include styles to show version log. * MotionMark/resources/runner/motionmark.js: Factor out default options to a property on window.benchmarkController. Include the default warmup length of 100 ms. (window.benchmarkController.startBenchmark): Refactor to use benchmarkDefaultParameters. * MotionMark/resources/debug-runner/motionmark.js: Ditto. * MotionMark/resources/strings.js: Update version number. * MotionMark/tests/resources/main.js: (_animateLoop): Set _benchmarkTimestamp during the warmup phase. Check the warmup length. The _benchmarkTimestamp variable remains reset when the test begins. Canonical link: https://commits.webkit.org/223865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-24 17:58:55 +00:00
<li><a href="https://webkit.org/blog/8434/motionmark-1-1/"><strong>1.1</strong></a>: Update Multiply test to increase max capacity and expand methods for hiding elements. Update Leaves test to use range of sizes and opacity.</li>
<li><a href="https://webkit.org/blog/6943/motionmark-a-new-graphics-benchmark/"><strong>1.0</strong></a>: Initial release.</li>
</ul>
<center><button onclick="location.href='./'">Return to homepage</button></center>
</div>
</section>
</main>
[MotionMark] Add support for version numbers https://bugs.webkit.org/show_bug.cgi?id=186479 Reviewed by Said Abou-Hallawa. Add support for displaying the version number as well as including it in the JSON results. When loading the front page, script replaces any element with classname version with the version number of the benchmark, which is stored in Strings.version. The JSON structure for the results includes a new version property: { "version": "1.0", "options": { ... }, "data": [ ... ] } When dragging a results file, the version listed will come from the JSON file. Older results will not have had the version property, in which case it will default to "1.0". * MotionMark/index.html: Update title to some other default. Script will update it. Include the version number in the logo title. * MotionMark/developer.html: Ditto. * MotionMark/about.html: Ditto. * MotionMark/resources/runner/motionmark.js: (ResultsDashboard): Update constructor to include version. This is used when serializing results out to JSON, and displaying the results panel in developer mode. (ResultsDashboard._processData): When running the benchmark, include benchmark version string in the results object. (ResultsDashboard.version): (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.sectionsManager.setSectionVersion): Helper function to update the element in the section with the class name version. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, which would be the same as the benchmark version. * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo in a div and include the version string. * MotionMark/resources/strings.js: Add strings for the page title template, and the version. * MotionMark/resources/debug-runner/motionmark.css: * MotionMark/resources/debug-runner/motionmark.js: (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the benchmark version string to the dashboard, which holds the results. (window.benchmarkController.initialize): Populate all DOM elements with class name "version" with the version string. Update the page title. When dragging in JSON results, look for version to pass to the dashboard. If it doesn't exist, default to "1.0". (window.benchmarkController.showResults): When showing results, update the version string based on what is included in the JSON results, instead of the current benchmark version. * MotionMark/resources/debug-runner/tests.js: Update page title template. Canonical link: https://commits.webkit.org/202238@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-25 15:38:03 +00:00
<script>
document.title = "About MotionMark " + Strings.version;
document.querySelector(".version").textContent = Strings.version;
</script>
</body>
</html>