Update animation benchmark and tests
[WebKit-https.git] / PerformanceTests / Animometer / developer.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>Animometer - developer</title>
5     <meta charset="utf-8">
6     <meta name="viewport" content="width=device-width, user-scalable=no">
7     <link rel="stylesheet" href="resources/runner/animometer.css">
8     <link rel="stylesheet" href="resources/debug-runner/animometer.css">
9     <script src="resources/strings.js"></script>
10     <script src="resources/extensions.js"></script>
11     <script src="resources/statistics.js"></script>
12
13     <script src="resources/runner/tests.js"></script>
14     <script src="resources/debug-runner/tests.js" charset="utf-8"></script>
15     <script src="resources/runner/animometer.js"></script>
16     <script src="resources/debug-runner/animometer.js"></script>
17
18     <script src="resources/runner/benchmark-runner.js"></script>
19     <script src="resources/debug-runner/d3.min.js"></script>
20     <script src="resources/debug-runner/graph.js" charset="utf-8"></script>
21 </head>
22 <body>
23     <main>
24         <hr>
25         <section id="intro" class="selected">
26             <h1>Animometer</h1>
27             <div>
28                 <div id="suites">
29                     <h2>Suites:</h2>
30                     <ul class="tree"></ul>
31                     <div><span id="drop-target">Drop results here</span></div>
32                 </div>
33                 <div id="options">
34                     <h2>Options:</h2>
35                     <form name="benchmark-options">
36                     <ul>
37                     <li>
38                         <label>Test length: <input type="number" id="test-interval" value="10"> seconds each</label>
39                     </li>
40                     <li>
41                         <h3>Display:</h3>
42                         <ul>
43                             <li><label><input name="display" type="radio" value="minimal" checked> Minimal</label></li>
44                             <li><label><input name="display" type="radio" value="progress-bar" checked> Progress bar</label></li>
45                         </ul>
46                     </li>
47                     <li>
48                         <h3>Adjusting the test complexity:</h3>
49                         <ul>
50                             <li><label><input name="adjustment" type="radio" value="step"> Keep at a fixed complexity, then make a big step</label></li>
51                             <li><label><input name="adjustment" type="radio" value="adaptive" checked> Maintain target FPS</label></li>
52                             <li><label><input name="adjustment" type="radio" value="ramp"> Ramp</label></li>
53                         </ul>
54                     </li>
55                     <li>
56                         <label>Target frame rate: <input type="number" id="frame-rate" value="50"> FPS</label>
57                     </li>
58                     <li>
59                         <h3>Kalman filter estimated error:</h3>
60                         <ul>
61                             <li><label>Process error (Q): <input type="number" id="kalman-process-error" value="1"></label></li>
62                             <li><label>Measurement error (R): <input type="number" id="kalman-measurement-error" value="4"></label></li>
63                         </ul>
64                     </li>
65                     <li>
66                         <h3>Time measurement method:</h3>
67                         <ul>
68                             <li><label><input name="time-measurement" type="radio" value="performance" checked> <code>performance.now()</code></label></li>
69                             <li><label><input name="time-measurement" type="radio" value="date"> <code>Date.now()</code></label></li>
70                         </ul>
71                     </li>
72                     </ul>
73                     </form>
74                 </div>
75             </div>
76             <button onclick="benchmarkController.startBenchmark()">Start Test</button>
77         </section>
78         <section id="test-container">
79             <div id="running-test" class="frame-container"></div>
80             <div id="progress">
81                 <div id="progress-completed"></div>
82             </div>
83         </section>
84         <section id="results">
85             <h1>Animometer score</h1>
86             <p class="score"></p>
87             <div id="results-tables">
88                 <div>
89                     <table id="results-score"></table>
90                     <table id="results-data"></table>
91                 </div>
92                 <table id="results-header"></table>
93             </div>
94             <div id="results-json">
95                 <button class="small-button" onclick="benchmarkController.showJSONResults()">JSON results</button>
96                 <div class="hidden">
97                     JSON:
98                     <textarea rows=1 onclick="this.focus();this.select()" readonly></textarea>
99                 </div>
100             </div>
101             <button onclick="benchmarkController.startBenchmark()">Test Again</button>
102             <p>'s': Select different data for copy/paste</p>
103         </section>
104         <section id="test-graph">
105             <header>
106                 <button onclick="benchmarkController.showResults()">&lt; Results</button>
107                 <h1>Graph:</h1>
108             </header>
109             <nav>
110                 <form name="graph-type">
111                     <ul>
112                         <li><label><input type="radio" name="graph-type" value="time"> Time graph</label></li>
113                         <li><label><input type="radio" name="graph-type" value="complexity" checked> Complexity graph</label></li>
114                     </ul>
115                 </form>
116                 <form name="time-graph-options">
117                     <ul>
118                         <li><label><input type="checkbox" name="markers" checked> Markers</label>
119                             <span>time: <span class="time"></span></span></li>
120                         <li><label><input type="checkbox" name="averages" checked> Averages</label></li>
121                         <li><label><input type="checkbox" name="complexity" checked> Complexity</label>
122                             <span class="complexity"></span></li>
123                         <li><label><input type="checkbox" name="rawFPS" checked> Raw FPS</label>
124                             <span class="rawFPS"></span></li>
125                         <li><label><input type="checkbox" name="filteredFPS" checked> Filtered FPS</label>
126                             <span class="filteredFPS"></span></li>
127                         <li><label><input type="checkbox" name="regressions" checked> Regressions</label>
128                     </ul>
129                 </form>
130                 <form name="complexity-graph-options">
131                     <ul class="series">
132                         <li><label><input type="checkbox" name="series-raw" checked> Series raw</label></li>
133                         <li><label><input type="checkbox" name="series-average"> Series average</label></li>
134                     </ul>
135                     <ul>
136                         <li><label><input type="checkbox" name="regression-time-score"> Controller score</label></li>
137                         <li><label><input type="checkbox" name="bootstrap-score" checked> Bootstrap score and histogram</label></li>
138                         <li><label><input type="checkbox" name="complexity-regression-aggregate-raw" checked> Regression, series raw</label><span id="complexity-regression-aggregate-raw"></span></li>
139                         <li><label><input type="checkbox" name="complexity-regression-aggregate-average"> Regression, series average</label><span id="complexity-regression-aggregate-average"></span></li>
140                     </ul>
141                 </form>
142             </nav>
143             <p class="score"></p>
144             <p class="mean"></p>
145             <div id="test-graph-data"></div>
146         </section>
147         <hr>
148     </main>
149 </body>
150 </html>