WPF/E HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>"WPF/E" CTP (December 2006) - Performance Test</title>
<meta http-equiv='Content-Type' content="text/html; charset=utf-8"></meta>

<script type="text/javascript" src="agHost.js"></script>
<script type="text/javascript" src="PerformanceTest.js"></script>


<style type="text/css">...

.playerDiv {...}{
top: 0px;
left: 0px;
}

.body {...}{
background: #AFCBE6;
}
</style>

</head>
<body class="body" style="margin: 0px;">
<div id='wpfeControlHost1' class='playerDiv' style="background:white">

<script type="text/javascript">...
new agHost("wpfeControlHost1", // hostElementID (HTML element to put WPF/E
"wpfeControl1", // ID of the WPF/E ActiveX control we create
"100%", // Width
"80%", // Height
"#FFFFFFFF", // Background color
null, // SourceElement (name of script tag containing xaml)
"PerformanceTest.xaml", // Source file
"false", // IsWindowless
"30", // MaxFrameRate
null // OnError handler
);
</script>
</div>
<input type="button" value="开始" name="start" onclick="beginRender()">
<div id="performance" style="background:yellow; width: 600px; height: 20px" >result</div></body>
</html>


// Define global variables.
var control, mainCanvas;
var row = 30, col = 30;

// Set global variables for the WPF/E control and main Canvas objects.

function onLoaded(sender) ...{
control = document.getElementById("wpfeControl1");
mainCanvas = sender;
}


function beginRender() ...{
var result = document.getElementById("performance");
mainCanvas.children.clear();
var beginTime = new Date();
var xamlFragment = '<Rectangle Width="10" Height="10" Stroke="Black" Fill="Blue"/>';
var r = new Array();
var rindex = 0;
for(var i=0; i<row; i++)

...{
for(var j=0; j<col; j++)

...{
rindex = r.length;
r[rindex] = control.createFromXaml(xamlFragment);
r[rindex]["Canvas.Left"] = j*12;
r[rindex]["Canvas.Top"] = i*12;
//mainCanvas.children.add(r[rindex]);
}
}
for(var i=0; i<r.length; i++)
mainCanvas.children.add(r[i]);
var endTime = new Date();
var spendTime = endTime.getTime() - beginTime.getTime();
result.innerHTML = beginTime.toString() + "-- Create " + row + "*" + col +" rects spends " + spendTime + "ms.";
}

<Canvas xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="800" Width="600" Background="PowderBlue" Loaded="javascript:onLoaded">
</Canvas>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>SVG - Performance Test</title>
<meta http-equiv='Content-Type' content="text/html; charset=utf-8"></meta>

<script type="text/javascript" src="PerformanceTest.js"></script>


<style type="text/css">...

.playerDiv {...}{
top: 0px;
left: 0px;
}

.body {...}{
background: #AFCBE6;
}
</style>

</head>
<body class="body" style="margin: 0px;">

<embed name="id1" align="top" src="PerformanceTest.svg" width="100%" height="80%" type="image/svg+xml">
<input type="button" value="开始" name="start" onclick="beginRender()">

<div id="performance" style="background:yellow; width: 600px; height: 20px" >result</div>
</body>
</html>


// Define global variables.
var control, svgRoot, mainCanvas = null;
var svgns = "http://www.w3.org/2000/svg";
var row = 100, col = 100;

function createMainCanvas()

...{
mainCanvas = control.createElementNS(svgns, "g");
svgRoot.appendChild(mainCanvas);
}

function beginRender()

...{
var result = document.getElementById("performance");
if(mainCanvas != null)
svgRoot.removeChild(mainCanvas);
createMainCanvas();
var beginTime = new Date();
var r = new Array();
var rindex = 0;
for(var i=0; i<row; i++)

...{
for(var j=0; j<col; j++)

...{
rindex = r.length;
r[rindex] = control.createElementNS(svgns, "rect");
r[rindex].setAttributeNS(null, "x", j*12);
r[rindex].setAttributeNS(null, "y", i*12);
r[rindex].setAttributeNS(null, "width", 10);
r[rindex].setAttributeNS(null, "height", 10);
r[rindex].setAttributeNS(null, "stroke", "black");
r[rindex].setAttributeNS(null, "fill", "blue");
//mainCanvas.appendChild(r[rindex]);
}
}
for(var i=0; i<r.length; i++)
mainCanvas.appendChild(r[i]);
var endTime = new Date();
var spendTime = endTime.getTime() - beginTime.getTime();
result.innerHTML = beginTime.toString() + "-- Create " + row + "*" + col +" rects spends " + spendTime + "ms.";
}
<svg xmlns="http://www.w3.org/2000/svg" onload="onLoaded(evt)">
<script type="text/javascript"><
]]></script>
</svg>












































WPF/E脚本(PerformanceTest.js)
















































XAML文件(PerformanceTest.xaml)





SVG HTML































SVG 脚本(PerformanceTest.js)
























































SVG 文件(PerformanceTest.svg)











