SVG transform
JavaScript performance comparison
Preparation code
<script>
function createRect(y){
var r = document.createElementNS(ns, 'rect');
r.setAttribute('height', 10);
r.setAttribute('width', 10);
r.setAttribute('y', y);
r.setAttribute('x', 10);
r.setAttribute('stroke', '#000000');
r.setAttribute('fill', '#007fff');
svg.appendChild(r);
return r;
}
function createTransform(rect) {
var transform = rect.ownerSVGElement.createSVGTransform();
rect.transform.baseVal.appendItem(transform);
return transform;
}
var value = 42;
var ns = "http://www.w3.org/2000/svg";
var svg = document.createElementNS(ns, 'svg');
document.body.appendChild(svg);
var x = 0;
var r1 = createRect(10);
var r2 = createRect(50);
var r3 = createRect(90);
var r4 = createRect(130);
var r2Transform = createTransform(r2);
var r3Transform = createTransform(r3);
var r4Transform = createTransform(r4);
var r4Matrix = r4Transform.matrix;
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
Set Transform String |
|
pending… |
Manipulate transform with API |
|
pending… |
Manipulate transform with cached transform |
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:
- Revision 1: published by Jens Podzierski
- Revision 2: published
- Revision 3: published
- Revision 4: published by Nathan Bingham
- Revision 5: published
- Revision 6: published
0 comments