亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

時間效率,Timer和EnterFrame在FP 10.1之后測試

系統 1794 0

關于Timer還是EnterFrame的選擇,一直是很多AS3開發者討論的話題, 隨著10.1即將普及,我這次對10.1的Timer和EnterFrame進行了一次較詳細的測試,給大家在他們的選擇和使用上做些參考。

注,flashplayer10.1新增了一個當前窗口在非激活狀態下會自動降低fps到2fps來節省cpu消耗,這將直接影響靠fps驅動的enterframe的效率和準確性。

測試環境主要以網頁下的flash執行效率為主, 分為空運算和重運算,同時運行和分別運行。

?

FPS為25(大多數應用的默認值), 即40ms間隔,發布統一選擇以10.1發布。

為了避免因為頻繁trace或頻繁寫入場景txt受到影響,我設定了間斷式的輸出結果來保證結果的純潔。

(測試代碼見樓底)

測試結果如下:

1,獨立Timer 運行,即40毫秒的timer,更新時無任何運算。
圖片

結論:從結果上看, Timer在網頁中難以穩定運行在40ms, 但貌似相對穩定的運行在65和70之間切換。
2,獨立Timer 運行 , 在上面的基礎上增加最小化當前窗口和切換到其他tab頁中的操作。
圖片
結論:如圖所見,Timer同樣被10.1的新增自動降fps功能影響,會被限制到2fps。

3, EnterFrame獨立運行,25fps,更新時無任何運算。
圖片
結論: 比Timer更準確,但 除了剛開始的1秒鐘,之后的fps并不是穩定在40的, 而是在35和50之間切換。

但至少是圍繞著40ms。
圖片

4,EnterFrame的降fps和Timer的相同,都是500ms, 2fps。 這個就不貼圖了。

5,因為無運算時Timer比Enterframe時間效率要差一些,以至于獨立的Timer重運算普遍都比EnterFrame的耗時要偏長。

6,獨立Timer,改為 100ms 和 110ms的測試。
圖片 圖片
結論:Timer 在100毫秒跑的非常精確,經過測試,可以達到精確的值必須是100的倍數,即100,200,300... 右圖為110ms對比,可以看到非常的詭異。 這個在pc和mac測試結果都差不多,pc上更精確,mac略有偶爾的數值抖動。

7,Timer使用空運算,EnterFrame使用重運算,同時運行,順序是Timer在前。

圖片

結論: 我們發現,由于enterframe中使用了重運算,timer即便是在更新時,由于得不到cpu時間,并不會被執行,而是等enterframe執行結束后,timer再執行,并且由于是空操作,所以timer和enterframe返回的時間是同樣的。

8,為了進一步證實第七點結論,又做了兩組實驗:1)timer以40ms和enterframe的10fps(100ms), 2)讓timer以100ms,enterframe是25fps。

結論:兩組實驗都完全輸出enterframe在前的順序,并且timer和enterframe的時間都一致,所以可以證實因為enterframe效率優于timer,timer總是在enterfame之后才會更新,在enterframe執行重運算時, ?timer會得不到cpu時間。

9,Timer重運算,EnterFrame空運算,fps一致。

結論:由于以上論證,再加上Timer內有重運算,enterframe依然會被先執行,并且Timer的速度會受到進一步影響,時間經常無法和EnterFrame同步,只能勉強跟上。

寫了這些實驗,對Timer和EnterFrame的使用上有一些建議:

1,EnterFrame是恒定的,穩定的,比較適合用來更新渲染畫面,如Tween。 但不適合做異步計算和處理, 如果能保證cpu每幀的計算效率在40ms以內,可以把計算放到enterframe時序中,這樣可以穩定25fps,當然,這不包括渲染損耗。

2,Timer在100ms的倍數是很穩定的,pc和mac都能穩定,非100的倍數的值會有兩個相差不大的值交替出現。

3,EnterFrame在12、20、30fps都比25fps更穩定,25fps會有兩個相差不到大的數值交替出現。

4,EnterFrame在計算時優于Timer。

5,Timer更適合使用異步的長周期來改變數據的狀態,并不適合短時間持續更新數據,或是渲染畫面。

6,EnterFrame和Timer同樣受到非活動創口的fps自動降低的影響。

7,當受到影響時,無法通過判斷frameRate==2,使用一個延遲時間,判斷出正好500ms的延遲(2fps),并在相應的enterframe中做切換特殊處理,在2fps中要完成原正常fps的渲染結果才能避免渲染的延遲影響。

時間效率,Timer和EnterFrame在FP 10.1之后測試和建議


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一区二区三区美女视频 | 91最新91精品91蝌蚪 | 久久精品免视看国产成人2021 | 爆操日本美女 | 天天综合天天操 | 波多野一区二区三区在线 | 四虎海外影院 | 久久99精品国产99久久6男男 | 四虎欧美永久在线精品免费 | 久久福利青草精品资源站免费 | 日韩夜夜操 | 久久99精品麻豆国产 | 欧美色视频日本片高清在线观看 | 在线免费观看国产精品 | 日本一级毛片免费 | 亚洲欧美久久精品1区2区 | 欧美成人一区二区三区在线电影 | 亚洲图片欧美另类 | 热久久视久久精品18国产 | 美女福利在线观看 | 亚洲精品久久久久中文 | 男人天堂黄色 | 精品久久久久久午夜 | 日韩精品亚洲一级在线观看 | 福利院肉动漫视频在线观看 | 亚洲性大片 | 欧美成人综合在线 | 五月婷婷网站 | 免费视频久久久 | 午夜伊人 | 亚洲 欧美 精品 中文第三 | 成人a级特黄毛片 | 久久久久女人精品毛片 | 欧美一区二区在线播放 | 久久这里只有精品18 | 日韩欧美一区二区三区不卡 | 精品免费久久久久久成人影院 | 三级a做爰大乳在线观看 | 欧做爰xxxⅹ性欧美大片孕妇 | 亚洲六月丁香色婷婷综合久久 | 精品72久久久久久久中文字幕 |