当计算机锁定或窗口不在前台时,Chrome浏览器的行为是否有所不同?我注意到在Windows上的这种用例中页面加载速度较慢。
如果是这样,可以通过他们的任何标志禁用它?
当计算机锁定或窗口不在前台时,Chrome浏览器的行为是否有所不同?我注意到在Windows上的这种用例中页面加载速度较慢。
如果是这样,可以通过他们的任何标志禁用它?
Answers:
简单回答是不。当计算机锁定或浏览器未全屏时,Google Chrome的行为不同。
稍微长一点的答案是,当屏幕被锁定时,用户仍然登录,并且所有用户应用程序继续正常运行,但是在用户桌面而不是安全桌面上。所有绘图事件都是短路的,以避免浪费不会显示的CPU绘图框,但谷歌浏览器将看到的其他任何事情都没有。
在后台运行的另一个特性是,当线程不在前台时线程会获得更小的时间片 - 这是Windows中的一个有意识的功能,因为前景线程上的5%减速会使系统看起来很慢,而在5%的情况下减速。后台进程通常是不明显的。
在Windows中,同样的原则也会延续网络和磁盘延迟。前台线程被优先用于排队的网络操作,因此如果三十个线程都想要进行DNS查找(如果你在Chrome中打开大量新选项卡的情况可能就是这种情况),那么首先发生的是那些选项卡你在看。
所有这些因素的组合意味着当谷歌浏览器不在前台时(例如,因为其他东西,或者机器被锁定)以及系统中正在发生的其他事情,谷歌浏览器的表现可能不如它在前台。
最终,这是Windows聪明,并试图让您的用户体验不那么迟钝,而不是谷歌Chrome做任何不同的事情。
是的,Chrome确实为背景标签设置了低得多的优先级。
如果整个窗口都在后台,那么所有选项卡也将在后台。选项卡上的JavaScript每1或2秒只处理一次(我不记得哪一个)。此延迟在Chromium源代码中以常量硬编码。您需要重新编译Chromium才能为后台标签提供更多优先级。
我知道,因为我调查了它。我希望JavaScript在后台运行并且每隔几百毫秒触发一次,但是在选项卡在后台稍作后,定时器每1或2秒只触发一次。