【发布时间】:2017-02-10 05:03:08
【问题描述】:
这可能与一个非常常见的问题相反:当您在一个选项卡上使用 setInterval 并切换到另一个选项卡时,间隔显着减少(即减慢)。这对于音频计时非常明显,因为您可以听到它被放慢了。
但是在最新的 Chrome 56 和 Firefox 51 上,我不能再让它发生了。
但在 Chrome 上,切换标签页的情况非常少见,而且看似随机, 会产生影响。它甚至会出于某种原因限制 Web Worker。
这让我很头疼,因为我正在尝试编写一些需要非常精确计时的 Web Audio API 内容,而我什至看不出 setInterval 和 Web Workers 之间的区别,它们应该在自己的线程上运行。
为什么setInterval 不像以前那样去限制非活动标签页?
更新:即使是通过 Blob URI 加载的 Web Worker 中的 setInterval,在某些情况下也会受到限制,例如切换选项卡。
【问题讨论】:
标签: javascript google-chrome firefox timer setinterval