Edited at

document.hidden時のrequestAnimationFrameの挙動

requestAnimationFrameはページが隠れてるときは、実行されないと思っていましたが、Firefoxでは実行されてるっぽかったので、各ブラウザがどういう挙動になるか調査してみました。

ついでにsetTimeout / setIntervalもページが隠れてるときどのくらい変化するか調べました。


結果

Browser
request
Animation
Frame
setTimeout
setInterval*

Chrome 70
0
約1回/秒

Firefox 63
0.5 ~ 1回/秒
約1回/秒

Safari 11
0
約1回/秒

IE11
0
変化無し

Edge 12
0
変化無し

iOS
Safari 12
0
0.01 ~ 1回/秒

Android
Chrome 70
0
約1回/秒

*setTimeout / setInterval のdelayは1000/60秒

Firefoxのみページが隠れてるときも多少実行されました。

setTimeout / setIntervalもページが隠れてるときは約1回/秒ほどのに抑えられますが、IE11とEdgeは変化なしでした。

調査ページ