Title: [130073] trunk/PerformanceTests
- Revision
- 130073
- Author
- fmal...@chromium.org
- Date
- 2012-10-01 13:53:45 -0700 (Mon, 01 Oct 2012)
Log Message
Add a performance test for nested <use> elements
https://bugs.webkit.org/show_bug.cgi?id=98047
Reviewed by Ryosuke Niwa.
Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
* SVG/SvgNestedUse.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/PerformanceTests/ChangeLog (130072 => 130073)
--- trunk/PerformanceTests/ChangeLog 2012-10-01 20:44:10 UTC (rev 130072)
+++ trunk/PerformanceTests/ChangeLog 2012-10-01 20:53:45 UTC (rev 130073)
@@ -1,3 +1,15 @@
+2012-10-01 Florin Malita <fmal...@chromium.org>
+
+ Add a performance test for nested <use> elements
+ https://bugs.webkit.org/show_bug.cgi?id=98047
+
+ Reviewed by Ryosuke Niwa.
+
+ Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
+ after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
+
+ * SVG/SvgNestedUse.html: Added.
+
2012-09-28 Ryosuke Niwa <rn...@webkit.org>
Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
Added: trunk/PerformanceTests/SVG/SvgNestedUse.html (0 => 130073)
--- trunk/PerformanceTests/SVG/SvgNestedUse.html (rev 0)
+++ trunk/PerformanceTests/SVG/SvgNestedUse.html 2012-10-01 20:53:45 UTC (rev 130073)
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src=""
+ </head>
+ <body>
+ <div id="wrapper">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <g id="unit">
+ <polygon points="0,0 10,0 5,8.66025403784439"/>
+ </g>
+
+ <g id="q">
+ <use id="q0" xlink:href="" x="10" y="0" fill="red"/>
+ <use id="q1" xlink:href="" transform="translate(10,0) rotate(60)" fill="green"/>
+ <use id="q2" xlink:href="" transform="translate(10,0) rotate(120)" fill="blue"/>
+ <use id="q3" xlink:href="" transform="rotate(60) translate(10,0) rotate(-60)" fill="purple"/>
+ </g>
+
+ <g id="qq">
+ <use id="qq0" xlink:href="" x="20" y="0"/>
+ <use id="qq1" xlink:href="" transform="translate(20,0) rotate(60)"/>
+ <use id="qq2" xlink:href="" transform="translate(20,0) rotate(120)"/>
+ <use id="qq3" xlink:href="" transform="rotate(60) translate(20,0) rotate(-60) scale(2)" fill="purple"/>
+ </g>
+
+ <g id="qqq">
+ <use xlink:href="" x="40" y="0"/>
+ <use xlink:href="" transform="translate(40,0) rotate(60)"/>
+ <use xlink:href="" transform="translate(40,0) rotate(120)"/>
+ <use xlink:href="" transform="rotate(60) translate(40,0) rotate(-60) scale(2)"/>
+ </g>
+ </defs>
+
+ <use xlink:href=""
+ <g transform="translate(300 200)">
+ <rect width="70" height="26" stroke-width="1" fill="rgb(255,255,255)" fill-opacity="1.000" stroke="rgb(0,0,0)" stroke-opacity="1.000"/>
+ <text id="FPS" y="23" font-family="Verdana" font-size="23">0</text>
+ </g>
+ </svg>
+ </div>
+
+ <script type="text/_javascript_">
+ var frame = 0;
+ var times = [PerfTestRunner.now()];
+ var unit = document.getElementById("unit");
+
+ requestAnimationFrame =
+ window['requestAnimationFrame'] ||
+ window['webkitRequestAnimationFrame'] ||
+ window['mozRequestAnimationFrame'] ||
+ window['oRequestAnimationFrame'] ||
+ window['msRequestAnimationFrame'] ||
+ function(callback) {
+ window.setTimeout(callback, 1000 / 60);
+ };
+
+ function newFrame() {
+ times.push(PerfTestRunner.now());
+ var avg = (times[times.length - 1] - times[0]) / (times.length - 1);
+ while (times.length > 10)
+ times.shift();
+
+ document.getElementById("FPS").textContent = (1000 / avg).toFixed(2);
+ unit.setAttribute('transform', 'scale(' + (Math.abs(frame++ % 20 - 10) / 10) + ')');
+ };
+
+ function animate() {
+ newFrame();
+ requestAnimationFrame(animate);
+ }
+
+ if (window.testRunner) {
+ PerfTestRunner.runPerSecond({ run: newFrame, done: function() {
+ document.getElementById('wrapper').style.display = 'none';
+ }});
+ } else
+ requestAnimationFrame(animate);
+ </script>
+ </body>
+</html>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes