根据Google文档Google Chrome Lighthouse工具计算总阻塞时间(TBT)的主要标准是长任务。
根据我的理解,长任务是指执行时间超过 50 毫秒的任何 JavaScript,任何超过此长度的任务都会累加到 TBT。
完成对 Web 应用程序的分析后,有 1 个 90 毫秒长的长任务。 这意味着我应该有 40 毫秒的 TBT。
但是在我运行灯塔 3 次之后,我平均得到了大约 1300 毫秒的 TBT
TBT实际上是如何计算的? 为什么我的 TBT 比预期高?
您似乎没有为性能跟踪启用任何 CPU 限制,否则“性能”选项卡旁边会出现一个警告图标。
带节流:
没有:
但是,默认情况下 Lighthouse 在启用 CPU 节流 的情况下运行:
Lighthouse 应用 CPU 节流来模拟中端移动设备,即使在更强大的桌面硬件上运行也是如此。
默认情况下,Lighthouse 使用恒定的 4 倍 CPU 倍增器,将高端桌面支架中的典型运行转移到中端移动支架中。
由于 CPU 限制的数量(或缺乏)会对性能产生巨大影响,尤其是 TBT,因此您应该将手动性能跟踪设置为使用 4 倍 CPU 减速以保持一致性。
您还可以将鼠标悬停在报告底部的配置上,确认给定 Lighthouse 测试的确切 CPU 限制设置。