fabric.js/test/benchmark.html

77 lines
No EOL
2.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Fabric.js benchmark</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="lib/unittest.css" type="text/css">
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/excanvas.js"></script>
<![endif]-->
<script src="../dist/all.js" type="text/javascript"></script>
<style type="text/css" media="screen">
.canvas_container { position: relative; }
</style>
</head>
<body>
<h2>Fabric.js benchmark</h2>
<div id="results"></div>
<canvas id="test" width="600" height="600"></canvas>
<script type="text/javascript">
(function() {
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function getRandomColor() {
return getRandomInt(0, 255).toString(16)
+ getRandomInt(0, 255).toString(16)
+ getRandomInt(0, 255).toString(16);
}
function addResult(title, result) {
var el = fabric.util.getById('results');
el.innerHTML += ('<h3>' + title + '</h3><p>' + result + '</p>');
}
this.c = new fabric.Element('test');
var t1, t2;
var t = new Date();
for (var i = 50; i--; ) {
c.add(new fabric.Rect({
width: getRandomInt(10, 50),
height: getRandomInt(10, 50),
fill: '#' + getRandomColor(),
opacity: Math.random(),
angle: getRandomInt(0, 180),
top: getRandomInt(0, c._oConfig.height),
left: getRandomInt(0, c._oConfig.width)
}));
}
addResult('Text initialization: ', (t1 = new Date() - t));
t = new Date();
for (var i=50; i--; ) {
c.renderAll();
}
addResult('Text rendering: ', (t2 = new Date() - t));
addResult('Total time: ', t1 + t2);
c.calcOffset();
})();
</script>
</body>
</html>