如何测试SVG图形绘制速度。

bianyafeng 2009-04-13 05:16:30
我想测试重新绘制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); //绘制图形所用的时间。// 不知道这么写是否能准确测试出绘制图形所用的时间。

}

}
...全文
56 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧