当锁定或在后台时Chrome是否表现不同


1

当计算机锁定或窗口不在前台时,Chrome浏览器的行为是否有所不同?我注意到在Windows上的这种用例中页面加载速度较慢。

如果是这样,可以通过他们的任何标志禁用它?


这取决于操作系统的设置(您尚未指定,开始时),对于非服务器操作系统,默认情况下前台应用程序优先于后台应用程序。这是预期的行为,它可能是也可能不是开发人员追求同样的事情。
Tom Wijsman

1
我添加了操作系统,它适用于Windows。所以我明白操作系统会这样做 - 但是我注意到与IE的区别(在同一场景中)。所以看起来浏览器正在做一些额外的事情......或者操作系统的功能。
GeorgeU

1
BTW他们确实说明了这一点“就像Windows可以为桌面应用程序执行此操作一样,多进程浏览器可以为选项卡执行此操作。当您离开选项卡时,Chrome会使用此作为提示,该选项卡的资源不太重要Chrome将降低现在背景标签的优先级,并将该标签的一部分工作集返回给操作系统。“ dev.chromium.org/memory-usage-backgrounder
GeorgeU

根据您的描述,听起来系统只是简单地分页Chrome的内存。你有很多标签打开包含大量图片,JavaScript和Flash的页面吗?硬盘驱动器LED闪烁很多还是硬盘驱动器抖动。如果是这样,那么如果你留下一段时间内没有使用大量内存的程序,这是正常的; Windows最终将其内存分页到磁盘(即使它不需要立即使用内存)。
Synetech

Answers:


1

简单回答是不。当计算机锁定或浏览器未全屏时,Google Chrome的行为不同。

稍微长一点的答案是,当屏幕被锁定时,用户仍然登录,并且所有用户应用程序继续正常运行,但是在用户桌面而不是安全桌面上。所有绘图事件都是短路的,以避免浪费不会显示的CPU绘图框,但谷歌浏览器将看到的其他任何事情都没有。

在后台运行的另一个特性是,当线程不在前台时线程会获得更小的时间片 - 这是Windows中的一个有意识的功能,因为前景线程上的5%减速会使系统看起来很慢,而在5%的情况下减速。后台进程通常是不明显的。

在Windows中,同样的原则也会延续网络和磁盘延迟。前台线程被优先用于排队的网络操作,因此如果三十个线程都想要进行DNS查找(如果你在Chrome中打开大量新选项卡的情况可能就是这种情况),那么首先发生的是那些选项卡你在看。

所有这些因素的组合意味着当谷歌浏览器不在前台时(例如,因为其他东西,或者机器被锁定)以及系统中正在发生的其他事情,谷歌浏览器的表现可能不如它在前台。

最终,这是Windows聪明,并试图让您的用户体验不那么迟钝,而不是谷歌Chrome做任何不同的事情。


马特,我知道windows逻辑,最初我以为是windows。但是,即使在为chrome实例强制优先级为Normal之后 - 它仍然表现得不同 - 更慢。
GeorgeU

后台线程的优先级提升与任务管理器中给出的任务优先级不同。更改此行为是系统范围的更改,可以通过转到ControlPanel>来完成。系统>高级系统设置>高级>表现>设置>高级>调整后台线程的最佳性能。
SecurityMatt

亚特我会尝试一下。仍然没有说服,因为我没有在IE上看到问题,在相同的场景中运行。此外,Chrome文档还提示除了Windows之外,他们还在做额外的逻辑。 dev.chromium.org/memory-usage-backgrounder
GeorgeU

该页面似乎表明当标签位于后台时,Chrome也标记为“低”优先级,这意味着该进程的网络和磁盘访问的时间和优先级将低于所有其他正在运行的应用程序。如果您之前说过要提高Chrome的优先级,您确定要为标签流程而不是窗口流程提高它吗?每个窗口都有自己的进程以及每个选项卡,但它是需要优先级提高的选项卡。
SecurityMatt

我通过确保SetPriorityClass不低于正常值(在chrome代码中),在我自己构建的Chrome上实现它。
GeorgeU

0

是的,Chrome确实为背景标签设置了低得多的优先级。

如果整个窗口都在后台,那么所有选项卡也将在后台。选项卡上的JavaScript每1或2秒只处理一次(我不记得哪一个)。此延迟在Chromium源代码中以常量硬编码。您需要重新编译Chromium才能为后台标签提供更多优先级。

我知道,因为我调查了它。我希望JavaScript在后台运行并且每隔几百毫秒触发一次,但是在选项卡在后台稍作后,定时器每1或2秒只触发一次。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.