19 | 优化INP(上):页面响应卡顿是什么原因造成的?
唐俊开
你好,我是三桥。
从这节课开始,我们就进入了新的篇章,一起来探讨全链路的优化内容。我们将从性能优化开始,把 INP 指标优化作为切入点。
什么是 INP 指标呢?它能够衡量网页对用户互动的响应速度,是一项重要的响应性指标。优化 INP 的过程很复杂,但优化后会带来巨大的成果。
例如,电商网站的商品详情页面可以通过降低 INP 值来提升点击率;印度的票务网站通过改善搜索功能和列表显示机制,成功降低了 INP 值并提高了销售额;《经济时报》网站通过改善 TBT 和 INP,访问量提高 40%,跳出率降低了一半。
由此可见,优化 INP 对公司的业务能带来很大的价值。那么,他们具体做对了哪些优化,让业务价值得到提升呢?
与 INP 相关的三个概念
在深入研究 INP 的优化之前,我们先来看下三个概念。
首先,浏览器主线程。它是浏览器中负责处理用户交互,解析和执行 JavaScript 代码,布局和绘制页面等核心任务的线程。
主线程一次只能处理一个工作任务,比如执行 JavaScript 代码时,绘制更新页面就会被阻塞。换个角度想,这说明了 INP 指标会受两个因素影响,一是 JavaScript 的解析和执行,二是布局和绘制页面。
这节课我们先重点探讨 JavaScript 的解析和执行,关于布局和绘制页面,我们将会在下一节课详细说明。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. INP指标是衡量网页对用户互动响应速度的重要指标,优化INP可以带来巨大的成果,对公司的业务能带来很大的价值。 2. 浏览器主线程一次只能处理一个工作任务,JavaScript的解析和执行以及布局和绘制页面会影响INP指标。 3. 浏览器任务包括浏览器执行的任何独立工作,大部分任务都在浏览器主线程上执行,包括解析HTML和CSS、运行JavaScript代码以及重排、重绘等。 4. 宏任务和微任务是浏览器执行JavaScript的两种任务类型,微任务的执行优先级比宏任务更高。 5. 优化长任务的目标是将长任务拆分成多个短任务,确保每个任务的执行时间尽可能短。 6. 使用定时器拆解任务和使用Promise调整任务优先级是优化长任务的两种方法。 7. requestAnimationFrame函数和requestIdleCallback函数是优化动画效果和调整任务优先级的API。 8. 任务调度器API提供了postTask函数,可以根据每个任务的需求调整其执行优先级。 9. 了解和掌握优化长任务的方法对网页性能优化至关重要,对公司的业务能带来很大的价值。 10. 要做好浏览器主线程任务的性能优化,就必须要了解宏任务和微任务的知识,理解浏览器是如何处理两种任务的执行顺序的。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《前端全链路优化实战课》,新⼈⾸单¥59
《前端全链路优化实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论