2011/5/23

避免 flash 跑大型迴圈造成畫面 lag 的方法

如果想要執行看看的人請下載這個檔,內含有cs4版本的fla
壓縮檔下載

只想看code的人可以點開這個
For.as
ForTest.as

我作了一個 class
用來避免大型迴圈造成畫面 lag 的方法
我沒有作完全的最佳化(覺得不夠最佳化的人自己改code哦)

最基本的用法是
new For(n,function(i){
  //迴圈裡面的程式
});


ForTest 是主程式,需要搭配 forTest.fla 才能執行
用來 demo For 類別的效果

執行後會在畫面上看到兩個在跑的小球
和兩個按鈕 test1 和 test2
test1 是使用一般的for去跑1000次
test2 是使用For類別去跑1000次

如果發生 lag 情況
上面的球就會跑得比下面的球慢
可以試著連續按test2按鈕
觀察lag的情形

當同時存在很多個 for 在執行時,會採取 round-robin 的機制執行

沒有留言: