2010-06-14 46 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