【发布时间】:2017-03-23 05:59:52
【问题描述】:
Chrome 开发者工具的“时间线摘要”选项卡中的“空闲”和“其他”时间包含哪些内容?
是什么导致了如此多的无所作为?
为什么会出现这些情况?
如何减少这些时间?有可能吗?
为什么浏览器长时间不活动(在空闲时间的情况下)?
在超过 1.8 秒开始时没有任何反应:
中间的“Idle”和“Other”大约占0.3秒:
在将近 3 秒后什么都没有发生:
在这个例子中,我们有将近五秒钟的不活动浏览器...
【问题讨论】:
-
Idle显然是什么都没有发生的时间,所以我不确定你为什么要减少它。Other是 js 引擎事件循环开销,您可以在单击时间轴中的灰色水平块后看到。我猜你可以写更少的代码来减少它:-) -
啊,启用工具栏中的所有复选框以查看网络请求。另外,进入 chrome://flags/#enable-devtools-experiments 并启用它,重新启动 Chrome,进入 devtools、设置、实验,点击 Shift 键 6 次,选择所有与 Timeline 相关的实验。
-
好吧,现在您可以调查似乎什么都没有发生的空闲区域。向上拖动
Main图表以查看 Raster、GPU、Compositor 图表中的情况。 -
呃,网络资源正在加载中,表示服务器慢。
-
我推测空闲时间是等待服务器回复,操作后清除浏览器进程等。我试图弄清楚为什么会有空闲时间以及它为什么会改变。我重新编写了一个包含 47 个 html 错误、两个 404 错误的页面,并结合了一些脚本。加载时间从约 2.4 秒减少到约 1.05 秒。空闲时间从 1813ms 减少到 485ms。在错误页面上,初始请求和渲染之间大约有 750 毫秒的空闲时间。也许浏览器正在处理错误的代码(空闲?)——没有加载、渲染、脚本或绘画?其他时间大致相同。
标签: performance google-chrome google-chrome-devtools timeline developer-tools