Chrome 开发人员工具中的空闲时间和其他时间。为什么浏览器长时间不活动?

Idle and Other times in Chrome Developer Tools. Why the browser is inactivity for so long?

"Idle" 和 "Other" 次 Chrome 开发人员工具中时间轴选项卡的摘要包含什么?

是什么原因造成如此多的不作为?

为什么会出现这些?

如何减少这些时间?可能吗?

为什么浏览器长时间不活动(在空闲时间的情况下)?

开始超过1.8秒没有任何反应:

中间的"Idle"和"Other"占了0.3秒左右:

将近 3 秒后,什么也没有发生:

在这个例子中,我们有将近五秒钟的不活动浏览器...

我在 Addy Osmani's blog 上找到了部分答案:

In Frame mode, the shaded vertical bars correspond to recalculating styles, compositing and so on. The transparent areas of each vertical bar correspond to idle time, at least, idle on the part of your page. For example, say your first frame takes 15ms to execute and the next takes 30ms. A common situation is that frames are synchronized to refresh rate and in this case, the second frame took slightly longer than 15ms to render. Here, frame 3 missed the "true" hardware frame and was rendered upon the next frame, hence, the length of the second frame was effectively doubled.

但这并没有穷尽这个话题。

问题中包含的图表未使用框架的示例。

我还是不知道怎么缩短时间,"Other"下面隐藏了什么。

Check out this topic

Idle is just that, nothing was going on so nothing to worry about as far as I know.

Other is "un-instrumented activity". Which is stuff that currently isn't able to be broken down. So, you can't analyze what was going on in there from the DevTools.

使用 Start profilling and reload page button instead of Record 按钮将给出我们正在等待的结果,因为它会在页面完成加载后停止录制,从而减少 idle.

“空闲”状态发生在浏览器尚未完成页面在屏幕上的最终呈现但必须暂停进程 等待丢失数据或恢复和完成它所需的资源。

我们可以处理较长的“空闲”期,例如,当浏览器等待服务器端长时间生成的同步响应时。

“Idle”状态不应与“Loading”状态混淆,这是浏览器实际上传响应的时间(从第一个字节到最后一个字节) ,而不是从发送请求到上传响应的时间。

“其他”状态表示除饼图中列出的活动之外的所有浏览器活动的时间,例如DOM树构建、CSSOM 等。

此问题在“Render-tree Construction, Layout, and Paint”网站上有部分解释。