【问题标题】:Unexpected behaviour of inactive tabs in Chrome 28 (beta)Chrome 28(测试版)中非活动标签的意外行为
【发布时间】:2013-06-05 12:51:20
【问题描述】:

我们有一些软件使用 Chrome 扩展程序来自动化浏览器(抓取客户端网站)。

通常我们在多个选项卡(最多 5 个)中运行此软件的多个实例以并行工作。

在 Chrome 28(测试版)中,我们注意到非活动(背景)选项卡似乎受到严重限制或以明显较低的优先级运行。基准测试表明,我们的扩展现在在非活动选项卡中的运行速度比在活动选项卡中慢 10 倍左右。如果 Chrome 被最小化,在活动标签中也会看到类似的行为。

这种行为在 Chrome 27(稳定版)中看不到,在该版本中,活动/非活动标签的性能相当。

任何想法或想法将不胜感激。

我们的 Chrome 测试版(版本 28.0.1500.29 beta-m)在 Microsoft Windows 7 和 Server 2008 上运行。

谢谢 理查德

【问题讨论】:

  • 你在使用 Web Workers 吗? setInterval?还是只是链接 Ajax 调用和成功回调?
  • 嗨@apsillers - 是的,我们在当前设置为100ms的地方使用setTimeout。也使用了 Web Worker,但不在测试用例中。
  • Firefox 和 Chrome 限制 setTimeoutsetInterval 在非活动或最小化选项卡内运行时每秒调用不超过一次。这可能是你的问题吗?
  • Near-duplicate: Javascript performance when running in an unfocused tab -- 唯一不同的是,您似乎在 Chrome 27 中没有经历过这种情况,这是不寻常的。也许 Chrome 只是为扩展脚本部署了节流功能?
  • 嗨@apsillers - 好的 - 刚刚做了一个测试并注释掉了100ms的setTimeout代码,扩展性能大大提高。我认为您是对的,现在 Chrome 28 中的扩展程序已强制规定了新的 1 秒最小值。希望 Chromium 团队的某个人能证实这一点。有趣的是,性能仍然不如 Chrome 27 - 我想知道页面加载现在是否也延迟了?

标签: google-chrome google-chrome-extension


【解决方案1】:

在最新的 Chrome 55 上,这个“问题”(或者可以称之为“功能”?)仍然存在。

我已经在我的构建页面上重现了这个问题(通过 QUnit 对 Ember 应用程序运行大量测试),并且在后台它们需要更长的时间。正如@apsillers 在评论中报道的那样,这已在另一个线程Javascript performance when running in an unfocused tab 上报道

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 2011-08-15
    相关资源
    最近更新 更多