因為工作需求,所以對SetInterval 及 Timer做記憶體及每一週期所需時間做了稍為的比較
測試結論:
1.大致上可知道Timer的記憶體用量比SetInterval來的穩定,不會因為週期數而有影響
2.不過有一個地方比較詭異,當swf的FPS設定為24所算出來的週期時間是放大值
設定值為42 ms,週期時間換算為83.32 ms ,調整FPS後,即接近設定值
3.設定值為42 ms會有2~3 ms的誤差值,不管是哪一個模式都會有
比較過後,Timer 的記憶體用量穩定度高 , 時間誤差都一樣,所以還是case by case,不過還是推薦用Timer,畢竟記憶體爆量可不好玩
測試數據:
Timer
初始化記憶體(M) 使用後記憶體(M) 所花時間(ms) 加總值 周期所花時間(ms) 記憶體用量(M)
2.7890625 3.7578125 41664 500 83.328 0.96875
2.7890625 3.75390625 41628 500 83.256 0.96484375
2.796875 3.76171875 22240 500 44.48 0.96484375
2.78515625 3.75 22219 500 44.438 0.96484375
2.79296875 3.7578125 44465 1000 44.465 0.96484375
2.7890625 3.75390625 44470 1000 44.47 0.96484375
2.796875 3.76171875 44476 1000 44.476 0.96484375
2.7890625 3.7578125 44510 1000 44.51 0.96875
setInterval
初始化記憶體(M) 使用後記憶體(M) 所花時間(ms) 加總值 周期所花時間(ms) 記憶體用量(M)
2.7890625 3.75 41660 500 83.32 0.9609375
2.78125 3.74609375 22240 500 44.48 0.96484375
2.7890625 3.75390625 22239 500 44.478 0.96484375
2.78125 3.75390625 44426 1000 44.426 0.97265625
2.7890625 3.76171875 44436 1000 44.436 0.97265625
2.79296875 3.75390625 44480 1000 44.48 0.9609375
2.7890625 3.765625 44485 1000 44.485 0.9765625