如何测试SVG图形绘制速度。
我想测试重新绘制SVG图形所用的时间,但是不知道在ASP.net AJAX 框架中的回调函数里,是修改完图片属性就直接绘制图形,在浏览器里显示,还是要全部修改完后,在浏览器里再显示。不太明白这里面的细节。有什么办法可以准确测试绘制图形所用的时间?很急!!谢谢。
以下是测试代码:
var Starttime;
var Endtime;
function SVGTest()
{
var now = new Date();
Starttime = now.getTime() ;
var i = 0;
var xdd=new ActiveXObject("Microsoft.XMLDOM");
var writeStart = " <?xml version='1.0' encoding='utf-8'?> <request>";
var write = "";
var writeEnd = " </request>";
for( i = 0;i <100;i ++)
{
write += " <id>" + "rect" + (i+1) +" </id>";
}
xdd.loadXML(writeStart + write + writeEnd);
WebService.ajaxWeb( xdd.xml,CallBackFunction);
}
setTimeout("SVGTest()", 800)
function CallBackFunction(str)
{
if (str != "")
{
var now = new Date();
REndtime = now.getTime() ;
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var id = "";
var num = "";
var doc = document.mydoc.getSVGDocument(); //创建SVG图形类。
var j = 0;
xmlDoc.loadXML(str); //加载回调函数传过来的xml字符串。
for( j = 0 ; j < 100; j ++)
{
id = xmlDoc.getElementsByTagName("svg")[0].childNodes[j].childNodes[0].childNodes[0].nodeValue;
num = xmlDoc.getElementsByTagName("svg")[0].childNodes[j].childNodes[1].childNodes[0].nodeValue;
doc.getElementById(id).setAttribute("height", num );
}
var now = new Date();
Endtime = now.getTime() ;
alert(Endtime-Starttime); //绘制图形所用的时间。// 不知道这么写是否能准确测试出绘制图形所用的时间。
}
}