Total Blocking Time指标

news2024/9/28 0:35:50

Total Blocking Time

总阻塞时间 (TBT) 是一项用于衡量加载响应能力的重要实验指标,因为它有助于量化网页在变为可靠交互之前处于非交互状态的严重程度。

TBTTotal Blocking Time),阻塞总时间,记录在 FCPTTI 之间所有长任务的阻塞时间总和。用于衡量在页面加载过程中,用户交互受到阻塞的总时间。

假如说在 FCPTTI 之间页面总共执行了以下长任务(执行时间大于 50ms)及短任务(执行时间低于 50ms)
请添加图片描述

如果任务时间足够长(超过 50 毫秒),用户很可能会注意到延迟,并认为网页运行缓慢或出现网络问题。

每个长任务的阻塞时间就等于它所执行的总时间减去 50ms,网页的总阻塞时间是在测量的时间范围内(在 FCP 后,TTI 之前)发生的每项长任务的阻塞时间的总和。

请添加图片描述

所以对于上图的情况来说,TBT 总共等于 345ms。

这个指标的高低其实也影响了 TTI 的高低,或者说和长任务相关的几个指标都有关联性。

获取阻塞总时间:

const observer = new PerformanceObserver((list) => {
  let totalBlockTime = 0;
  for (const entry of list.getEntries()) {
    if(entry.duration > 50) {
        totalBlockTime += (entry.duration - 50)
    }
    console.log('longtask candidate: ', entry.duration);
  }
  console.log('total block time: ', totalBlockTime)
});
observer.observe({entryTypes: ['longtask']});

TBT 得分

为了提供良好的用户体验,在一般移动设备硬件上进行测试时,网站应力求将总阻塞时间控制在 200 毫秒以内。

优化 TBT 的方法

  1. 减少主线程任务:

    将 JavaScript 代码分成较小的任务块,避免在主线程上执行过长的任务。使用 requestIdleCallback 和 setTimeout 来将任务分片处理。

  2. 优化资源加载:

    延迟加载非关键资源,确保关键内容优先加载。使用 async 和 defer 属性来优化 JavaScript 文件的加载。

  3. 使用 Web Workers:

    将计算密集型的任务移到 Web Workers 中,减少主线程的负载。

  4. 优化代码性能:

    确保 JavaScript 和 CSS 代码经过压缩和优化,以减少解析和执行时间。

除了在页面加载过程中可以用来判断用户交互受到的阻塞总时长外,还可以用来监控记录和优化用户交互中的长任务,比如说点击按钮这些,虽然 TBT 不是专门用于测量这些任务的,但这些用户体验也是需要关注和优化的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2171665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大厂太卷了!又一款一站式AI短剧创作神器,这套AI工作流厉害了:自动生成脚本、角色、分镜、视频、音乐、字幕...(附保姆级教程)

大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 行业在卷 AI 应用,而美图已经在卷 AI 工作流了………

每日一题|2516. 每种字符至少取 K 个|双指针、最长子串、字典

本题需要转化求解目标。 对于一个序列,两头收集的最少数量的时候,剩下的部分(我们称之为子串)就会对应的越长。也就是说,我们只要求解一个满足要求的最长子串,使得两边剩余的字符数量刚好满足要求。 由于…

学习threejs,实现几何体阴影效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言二、🍀绘制任意字体模型…

量化交易backtrader实践(三)_指标与策略篇(1)_指标简介与手工双均线策略

01_指标 指标是一个汉语词语,读音是zhǐ biāo,意思是衡量目标的参数;预期中打算达到的指数、规格、标准,一般用数据表示。 统计学术语 指标是说明总体数量特征的概念及其数值的综合,故又称为综合指标。在实际的统计…

使用ESPnet的 setup_anaconda.sh安装脚本一步到位,配置conda虚拟环境

使用ESPnet的 setup_anaconda.sh安装脚本一步到位,配置conda虚拟环境 前言 ESPnet(End-to-End Speech Processing Toolkit)是一款用于语音识别、语音合成等任务的开源端到端语音处理工具包。为了在不同系统上快速配置ESPnet开发环境&#x…

Serverless and Go

本篇内容是根据2019年8月份Serverless and Go音频录制内容的整理与翻译, Johnny、Mat、Jaana 和特邀嘉宾 Stevenson Jean-Pierre 讨论了 Go 世界中的Serverless。什么是Serverless,Serverless适用于哪些用例,有哪些权衡,以及如何在Serverles…

AI芯片WT2605C赋能厨房家电,在线对话操控,引领智能烹饪新体验:尽享高效便捷生活

在智能家居的蓬勃发展中,智能厨电作为连接科技与生活的桥梁,正逐步渗透到每一个现代家庭的厨房中。蒸烤箱作为智能厨电的代表,以其丰富的功能和高效的性能,满足了人们对美食的多样化追求。然而,面对众多复杂的操作功能…

每日OJ_牛客_OR59字符串中找出连续最长的数字串_双指针_C++_Java

目录 牛客_OR59字符串中找出连续最长的数字串 题目解析 C代码1 C代码2 C代码3 Java代码 牛客_OR59字符串中找出连续最长的数字串 字符串中找出连续最长的数字串_牛客题霸_牛客网 题目解析 双指针: 遍历整个字符串,遇到数字的时候,用双…

字符编码发展史4 — Unicode与UTF-8

上一篇《字符编码发展史3 — GB2312/Big5/GBK/GB18030》我们讲解了ANSI编码中的GB2312/Big5/GBK/GB18030。本篇我们将继续讲解字符编码的第三个发展阶段中的Unicode与UTF-8。 2.3. 第三个阶段 国际化 前面提到的第二个阶段,各个国家和地区各自为政,纷纷…

并发编程---线程与进程

业务场景:小明去理发店理发。 小明去理发店理发,完成理发需要吹,剪,洗、理的过程。由这个场景我们引用进程和线程这两个 概念。 一.进程 1.什么是进程 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是…

【docker】debian中配置docker(2024年9月)

首先Follow了一下菜鸟教程,然后遇到了curl的问题。 curl存在的问题 参见这篇文章。其中用到了vim进行编辑,笔者的环境是windows10putty,vim的粘贴操作参考这篇文章。 修改之后的curl没有问题了,成功把脚本下载下来了。 但是在…

LD2 Scalable Heterophilous Graph Neural Network with Decoupled Embeddings

Neurips 24 推荐指数: #paper/⭐⭐⭐ 领域:可扩展图,大图加速 整个文章的理论部分比较多,尽量尽我所能避开一些额外公式。详细文章,见链接 模型架构 如图,整个模型分为与计算和训练两部分。本文的精华在于…

Docker网络、数据卷及安全优化

目录 一、Docker网络 1、原生bridge网络 2、host网络 3、none网络 4、docker自定义桥接网络 1、Docker自定义网络 2、不同自定义网络通信 3、joined容器网络 5、Docker容器内外网访问 1、容器访问外网 2、外网访问容器 6、macvlan网络实现跨主机通信 二、Docker数据…

Ubuntu下Kafka安装及使用

Kafka是由Apache软件基金会开发的一个开源流处理平台,同时也是一个高吞吐量的分布式发布订阅消息系统。它由Scala和Java编写,具有多种特性和广泛的应用场景。 Kafka是一个分布式消息系统,它允许生产者(Producer)发布消…

Spring Ioc底层原理代码详细解释

文章目录 概要根据需求编写XML文件,配置需要创建的bean编写程序读取XML文件,获取bean相关信息,类,属性,id前提知识点Dom4j根据第二步获取到的信息,结合反射机制动态创建对象,同时完成属性赋值将…

【移植】标准系统方案之扬帆移植案例

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 本文章是基于瑞芯微RK3399芯片的yangfan开发板,进行标准…

一些写论文必须要知道的神仙级网站!芝士AI(paperzz)

说实话,写论文真的是挺头疼,尤其到了毕业季的时候,没有过任何写作毕业论文的经验的毕业生而言更是如此,相信大家都有过这种状态,不知从何下笔,还需要面对论文进度的压力,并且时常需要寻找各种资…

HDF5文件浏览软件--H5View

概述 H5View是一款轻量级桌面软件,旨在提供用户友好的界面以读取和展示 HDF5 文件中的数据结构。该软件允许用户查看文件的数据目录和数据集,并支持将选定的数据集导出为多种格式。 功能特点 读取 HDF5 文件 支持打开和读取 HDF5 格式的文件。显示文件…

Lenovo SR850服务器亮黄灯维修和升级CPU扩展模块

佛山市三水区某高校1台Lenovo Thinksystem SR850服务器黄灯故障到现场检修 和 升级3号和4号CPU。加强服务器的计算性能; 故障情况是该学校it管理员这一天看到这台SR850服务器前面板亮了一个黄灯,但是目前系统运行正常,出于安全考虑&#xff0…

JavaFX 如何加载系统资源

简介 问题描述:JavaFX 加载图片资源异常,即使路径正确 如何解决:使用反射 API 如何解决 import javafx.scene.image.Image; import org.junit.jupiter.api.Test;import java.util.Objects;public class ImageTest {Testvoid name() {Image…