4 <title>Floats layout performance tester</title>
10 border: 1px solid green;
24 function createElement(tag, parent, className, id)
26 var el = document.createElement(tag);
27 el.className = className;
29 parent.appendChild(el);
33 function createSet(width, height)
35 var container = createElement("div", document.body, "container");
36 for (var y = 0; y < height; ++y) {
37 for (var x = 0; x < width; ++x)
38 createElement("div", container, "float", "float" + x + "_" + y);
39 createElement("div", container, "float-end", "end" + x)
43 function toggle(str, str1, str2)
50 function test(width, height)
52 document.getElementById("test_panel").style.display = "none";
53 document.getElementById("framerate_panel").style.display = "block";
55 createSet(width, height);
57 var startTime = new Date();
59 function updateTimer()
63 var newTime = new Date();
64 var deltaTime = newTime - startTime;
66 if ((deltaTime > 0 && updates > 100) || deltaTime > 1000) {
67 var fps = updates * 100 / deltaTime;
68 document.getElementById("fps").innerHTML = fps;
76 var x = Math.floor(Math.random() * width);
77 var y = Math.floor(Math.random() * height);
78 var el = document.getElementById("float" + x + "_" + y);
79 el.className = toggle(el.className, "float", "float big");
82 setInterval(update, 0);
87 <div id="framerate_panel">Framerate: <span id="fps">calculating...</span> fps</div>
89 <p>Choose the size of the test:</p>
90 <button onclick="test(2, 100)">2 by 100</button>
91 <button onclick="test(20, 100)">20 by 100</button>
92 <button onclick="test(50, 100)">50 by 100</button>
93 <button onclick="test(100, 100)">100 by 100</button>