gpt4 book ai didi

javascript - setInterval 不会在非事件选项卡上减慢速度

转载 作者:行者123 更新时间:2023-11-29 15:22:56 27 4
gpt4 key购买 nike

这可能与一个非常常见的问题相反:当您在一个选项卡上使用 setInterval 并切换到另一个选项卡时,间隔会显着减少(即变慢)。这对于音频计时非常明显,因为您可以听到它正在放慢速度。

但在最新的 Chrome 56 和 Firefox 51 上,我无法再实现它了。

但是在 Chrome 上,切换标签页可能会产生影响,但这种情况很少发生,而且似乎是随机发生的。出于某种原因,它甚至会限制 Web Worker。

这让我很头疼,因为我正在尝试编写一些需要非常精确计时的 Web Audio API 内容,而且我什至看不出 setInterval 和 Web Workers 之间的区别,后者应该在自己的线程上运行。

为什么 setInterval 不像以前那样限制不活动的标签页?

更新:即使是通过 Blob URI 加载的 Web Worker 中的 setInterval,在某些情况下也会受到限制,例如切换标签页。

最佳答案

由于javascript是运行时编译代码(由浏览器在运行时编译,浏览器必须对其进行处理)。当您导航到其他选项卡时,该页面有自己的脚本,浏览器也必须编译该代码。因此,浏览器为事件选项卡中的脚本分配高优先级,而剩余选项卡中的脚本分配的优先级较低。所以它会影响非事件选项卡上的脚本。但是,如果您的机器有更多可用 RAM,则不会发生此问题。

关于javascript - setInterval 不会在非事件选项卡上减慢速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42151856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com