OLD | NEW |
| (Empty) |
1 <html> | |
2 <head> | |
3 <script language="javascript"> | |
4 var last = new Date(); // The last time we sampled the timer | |
5 var total_value = 0; // The sum of the intervals measured | |
6 var total_count = 0; // The count of the intervals measured | |
7 var last_interval = 1; | |
8 function fire() { | |
9 | |
10 var current = new Date(); | |
11 var ms = current - last; | |
12 | |
13 total_value += ms; | |
14 total_count++; | |
15 | |
16 // Display the interval output. | |
17 var output = document.getElementById('output'); | |
18 output.innerHTML = ms + "ms"; | |
19 | |
20 // Display the average output. | |
21 var average = document.getElementById('average'); | |
22 average.innerHTML = total_value / total_count + "ms"; | |
23 | |
24 // Get the new interval from the input. | |
25 var input = document.getElementById('input'); | |
26 | |
27 // If the interval has changed, reset our averages. | |
28 if (input.value != last_interval) { | |
29 total_value = 0; | |
30 total_count = 0; | |
31 } | |
32 last_interval = input.value; | |
33 | |
34 last = new Date(); | |
35 setTimeout(fire, last_interval); | |
36 } | |
37 </script> | |
38 </head> | |
39 | |
40 <body onload='setTimeout("fire()", 1)'> | |
41 | |
42 <h1>Test JS setTimeout() speed</h1> | |
43 | |
44 This page tests the frequency of setTimeout() in the browser. | |
45 Javascript applications use setTimeout() as a mechanism to 'yield' | |
46 to the browser so that the browser can repaint. Most browsers | |
47 implement a 15ms setTimeout() minimum. Use this to page to measure | |
48 setTimeout() lag and discover your browser's minimum interval.<P> | |
49 | |
50 <hr> | |
51 | |
52 Desired ms to delay: <input id="input" type="text" value="1"><P> | |
53 | |
54 Measured delay:<br> | |
55 <ul> | |
56 instance: <div id="output"></div> | |
57 average: <div id="average"></div> | |
58 </ul> | |
59 | |
60 </body> | |
61 </html> | |
OLD | NEW |