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は変化なしでした。