<!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/animometer.css">
</head>
<body class="images-loaded">
    <main>
    <section id="about" class="selected">
        <svg class="logo"><use xlink:href="resources/runner/logo.svg#root"></svg>

        <div class="body">
            <h1>About MotionMark</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 browser’s 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 device’s 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>
                <li><strong>Leaves</strong>: CSS-transformed elements</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>

            <center><button onclick="location.href='./'">Return to homepage</button></center>
        </div>
        </section>
    </main>
</body>
</html>