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