2010-06-14 42 views
0

我在Flash中构建一个工具,告诉我需要多长时间从服务器加载一些内容。我在做Flash中的时序极不准确?

foo = new Date().getTime(); 
// get the thing 
bar = new Date().getTime(); 
trace(bar-foo); 

然而,不知何故,时间似乎有点波动,从3毫秒到150毫秒。当我使用Python进行测试时,时间总是在5ms左右。有谁知道发生了什么事,以及我如何修复它?

非常感谢!

+1

我不知道躲在这是越来越事物的代码是非常有帮助这里。 – 2010-06-14 15:22:11

+0

实际代码比这更复杂一点,它基本上创建一个MovieClipLoader,并将图像加载到该图像中,并在onLoad处理函数中获取图像条 – makalaka9128 2010-06-14 15:26:43

回答

0

这是由于Flash播放器的异步执行模式。加载操作发生在后台的某个时间点。

因此而在Python中,你自然会做这样的东西同步:

var foo = now(); 
var data = loadData(); 
var bar = now(); 

在AS3这更像是:

var foo = now(); 
ioThread.addJob(loadData, function (data) { var bar = now() }); 

,甚至,在浏览器中,IO作业被执行浏览器。但无论如何,这种情况发生得非常缓慢,可能是基于带宽是预期瓶颈的假设。

格尔茨
back2dos