【问题标题】:Meaning of long frame in Chrome DevToolsChrome DevTools 中长帧的含义
【发布时间】:2018-06-18 15:50:18
【问题描述】:

我正试图弄清楚为什么我的应用程序性能很差。所以我在 DevTools 中做了一个性能记录,我可以看到帧通常需要大约 150 毫秒,这太长了。

但是我不明白为什么框架需要这么多时间。有一些 javascript 处理输入事件、一些 DOM 操作和一些绘制。这一切大约需要 60 毫秒。那么为什么帧是 150 毫秒长呢?

编辑 我已经按照 wOxxOm 的建议启用了一些与时间线相关的开发工具实验。有某种更新层任务。

【问题讨论】:

  • 一直向下滚动火焰图 - 可能您的 GPU 已拥塞。或者是其他东西。还可以尝试启用一些与时间线相关的开发工具实验:puu.sh/AHxnb/242921211d.png
  • 查看更新后的问题。我的 DevTools 中没有这样的设置。我已开启开发者工具实验,但可用的选项比你少得多。
  • 在“实验”窗格中按 Shift 6 或 7 次。如果您在 Windows 中,请忽略任何操作系统提示。

标签: google-chrome-devtools


【解决方案1】:

我会说它来自您层中的太多节点,但通过一些研究我们现在可以找到someone already had your problem before。引用回答者的话:

在你的情况下,我猜你正在触发一个基本面 层失效,迫使它更新上一层 树层次结构,然后沿着树向下流动并导致每个 要更新的那些层。虽然很难说没有 查看您的代码。

如果这个长的更新层树一直在发生,不管怎样 在重新计算布局之前,它肯定是相关的 到那个。

我建议检查 Alexander J. Ray 指出的资源,尤其是 HTML5 Rocks article

【讨论】:

  • 嗯,这是我想了解的。在您提到的问题中,有“更新图层树”事件。它是紫色的,恕我直言,它与布局部分有关。在我的例子中,它被称为“更新图层”,它是绿色的——所以它是关于绘画的。我在互联网上找不到有关此类事件的任何信息。 Chrome DevTools 中也不再有时间轴面板了。
  • 这个问题已经有 4 年历史了,所以如果颜色和提及从那以后发生了变化,我不会感到惊讶。但是确实有可能“更新层”和“更新层树”是不相关的,如果是这样我就没有想法了^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多