2015-01-06 38 views
1

如果瀏覽器應用程序執行在計算上更重,或阻斷操作,則事件循環將延長。檢測事件循環「滯後」

有沒有辦法獲得定性度量關於事件循環的長度?

這是一個以衡量如何「輕鬆」客戶端Web應用程序客戶端上渲染(即它是否有足夠的計算資源來提供順利,及時地體驗)。

回答

0

你可以掛接到window.requestAnimationFrame(實際上沒有做任何渲染)和測量調用之間的平均時間,基於傳遞給它的回調高分辨率定時器的值。

這實際上只是一個FPS計數器。

+0

所以這樣的工作,因爲回調提供給請求動畫幀是保證一個週期結束前調用?你可以擴展爲什麼這個作品? – Ben

+0

AIUI,您不會更頻繁地獲得調用回調的頻率,但如果當前幀已被「錯過」(因爲事件循環正忙於處理其他代碼),那麼回調也是如此。 – Alnitak

+0

哦,在新的瀏覽器上還有'setImmediate',AFAIK會強制提供的回調被稱爲ASAP,但是來自事件循環。 – Alnitak