stress.html 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Stress</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript" src="../build/escher.js"></script>
  9. <script type="text/javascript">
  10. var division = document.createElement("div");
  11. division.style.position = "absolute";
  12. division.style.width = "100%";
  13. division.style.height = "100%";
  14. division.style.top = "0px";
  15. division.style.left = "0px";
  16. division.style.overflow = "hidden";
  17. document.body.appendChild(division);
  18. var perfDelta = document.createElement("div");
  19. perfDelta.style.position = "absolute";
  20. perfDelta.style.width = "50px";
  21. perfDelta.style.height = "200px";
  22. perfDelta.style.top = "0px";
  23. perfDelta.style.left = "0px";
  24. perfDelta.style.overflow = "visible";
  25. perfDelta.style.fontFamily = "Arial";
  26. perfDelta.style.fontSize = "20px";
  27. document.body.appendChild(perfDelta);
  28. // Setup the display canvas
  29. var canvas = document.createElement("canvas");
  30. canvas.style.position = "absolute";
  31. canvas.style.width = "100%";
  32. canvas.style.height = "100%";
  33. canvas.style.top = "0px";
  34. canvas.style.left = "0px";
  35. canvas.width = window.innerWidth;
  36. canvas.height = window.innerHeight;
  37. canvas.oncontextmenu = function(event)
  38. {
  39. event.preventDefault();
  40. return false;
  41. };
  42. division.appendChild(canvas);
  43. window.onresize = function()
  44. {
  45. canvas.width = window.innerWidth;
  46. canvas.height = window.innerHeight;
  47. };
  48. var group = new Escher.Object2D();
  49. for(var i = 0; i < 1e3; i++)
  50. {
  51. var box = new Escher.Box();
  52. Escher.Helpers.boxResizeTool(box);
  53. box.draggable = true;
  54. box.position.set(Math.random() * 1e3, Math.random() * 1e3)
  55. group.add(box);
  56. var div = new Escher.DOM();
  57. div.size.set(100, 50);
  58. div.origin.set(50, 25);
  59. box.add(div);
  60. var text = document.createElement("div");
  61. text.style.fontFamily = "Arial";
  62. text.style.textAlign = "center";
  63. text.innerHTML = "DOM text!";
  64. div.element.appendChild(text);
  65. }
  66. var viewport = new Escher.Viewport(canvas);
  67. var time = performance.now();
  68. var renderer = new Escher.Renderer(canvas);
  69. renderer.createRenderLoop(group, viewport, function()
  70. {
  71. var newTime = performance.now();
  72. var delta = newTime - time;
  73. time = newTime;
  74. perfDelta.innerHTML = delta + "ms";
  75. console.log(delta);
  76. });
  77. </script>
  78. </body>
  79. </html>