INP指標

什么是INP(Interaction to Next Paint)

參考網站:webVital-INP文檔


定義與核心目標

  • INP 是一項穩定的 Core Web Vitals 指標,通過統計用戶訪問期間所有符合條件的互動約定時間,評估網頁對用戶操作的總體響應能力。
  • 最終值:取觀察到的最長互動時間(可能忽略高群值)。
  • 用戶體驗目標
    INP 應 ≤ 200 毫秒,建議以 P75(按設備類型細分)作為達標基準。

檢測工具

  1. Chrome插件
    Web Vitals
  2. 其他測試網站
    PageSpeed Insights

指標計算規則

互動延遲由三階段組成:

  1. 輸入延遲,從用戶發起與網頁的互動開始,在互動的事件回調開始運行時結束。
  2. 處理時間,由事件回調運行完成所需的時間組成。
  3. 呈現延遲時間,即瀏覽器呈現下一幀(包含互動的視覺效果)所需的時間。

這三個階段的總和就是總互動延遲時間,總延遲 = 輸入延遲 + 處理時間 + 呈現延遲。
互動的每個階段都會計入互動總延遲時間,因此了解如何優化互動的每個部分,以盡可能縮短互動的運行時間。


優化措施

關鍵策略

  1. 具體分析查找卡頓原因
    https://web.dev/articles/find-slow-interactions-in-the-field?hl=zh-cn#get_field_data_quickly_with_crux
    還可以使用 Chrome DevTools 定位緩慢的交互事件。
  2. 將非關鍵更新推遲到下一幀執行,讓渡主線程執行關鍵業務
    避免讓當前執行的任務阻塞用戶交互、阻塞頁面渲染;或者頁面渲染任務過重阻塞業務代碼執行。
    學會使用requestAnimationFrame() 放置于代碼中,它可以確保非關鍵代碼不會阻塞下一幀。
  3. 避免過于冗長的回調方法,它們都是順序執行的,可以在關鍵更新執行后,剩下的回調方法放置于requestAnimationFrame()中執行。
    textBox.addEventListener('input', (inputEvent) => {// 關鍵更新立即執行updateTextBox(inputEvent);// 非關鍵邏輯延后requestAnimationFrame(() => {setTimeout(() => {const text = textBox.textContent;updateWordCount(text);checkSpelling(text);saveChanges(text);}, 0);});
    });
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904055.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904055.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904055.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

剖析擴散模型(Denoising Diffusion Probabilistic Models)

文章目錄 1. 前言2. 前向擴散過程(Forward Diffusion)3. 反向生成過程(Reverse Process)4. 訓練和推理過程中的偽代碼5. 訓練過程代碼實現(Training)5.1 時間嵌入模塊——TimeEmbedding5.2 前向擴散過程——GaussianDiffusionTrai…

基于 Spring Boot 瑞吉外賣系統開發(九)

基于 Spring Boot 瑞吉外賣系統開發(九) 保存菜品 菜品管理頁面提供了一個“新增菜品”按鈕,單擊該按鈕時,會打開新增菜品頁面。 請求路徑/dish,請求方法POST,參數使用DishDto類接收。 DishDto 添加f…

w317汽車維修預約服務系統設計與實現

🙊作者簡介:多年一線開發工作經驗,原創團隊,分享技術代碼幫助學生學習,獨立完成自己的網站項目。 代碼可以查看文章末尾??聯系方式獲取,記得注明來意哦~🌹贈送計算機畢業設計600個選題excel文…

【Agent搭建】利用coze平臺搭建一個AI銷售?

目錄 一、關于coze 核心功能 二、搭建屬于你自己智能體 備注:(以下說明比較需要調整的板塊) 1、從Prompt工程開始 2、搭建工作流 3、添加知識 三、總結 一、關于coze Coze是字節跳動推出的AI應用開發平臺,專注于幫助用戶快速…

Sharding-JDBC分庫分表中的熱點數據分布不均勻問題及解決方案

引言 在現代分布式應用中,使用Sharding-JDBC進行數據庫的分庫分表是提高系統性能和擴展性的常見策略。然而,在實際應用中,某些特定的數據(如最新訂單、熱門商品等)可能會成為“熱點”,導致這些部分的數據處…

DSP48E2 的 MAC模式功能仿真

DSP48E2 仿真代碼: 測試的功能為 P i ( A D ) ? B P i ? 1 P_{i} (AD) * B P_{i-1} Pi?(AD)?BPi?1? timescale 1ns / 1nsmodule dsp_tb;// 輸入reg CLK;reg CE;reg SCLR;reg signed [26:0] A, D;reg signed [17:0] B;// 輸出wire signed [47:0] P;par…

抽象工廠模式(Abstract Factory Pattern)

很好!你現在已經開始接觸設計模式了,而**抽象工廠模式(Abstract Factory Pattern)是一種常用于“創建一系列相關產品”**的經典設計模式。 我會一步步幫你理解: 🧠 一句話解釋 抽象工廠模式:提…

Thymeleaf模板引擎從入門到實戰:Spring Boot整合與核心用法詳解

在 Java Web 開發的世界里,模板引擎是連接后端數據與前端展示的重要橋梁。Thymeleaf 憑借其強大的功能和簡潔的語法,逐漸成為眾多開發者的首選。如果你正在尋找一款能夠讓你的 Web 應用開發更加高效、代碼更加優雅的模板引擎,那么 Thymeleaf …

【HarmonyOS】作業三 UI

目錄 一. 單選題(共10題,10分) 1. (單選題, 1分)關于Tabs組件頁簽的位置設置,下面描述錯誤的是 2. (單選題, 1分)下面哪個組件不能包含子組件? 3. (單選題, 1分)ArkTS語言的實現計數器功能的組件名稱是以下哪個? 4. (單選題…

《算法筆記》10.6小節——圖算法專題->拓撲排序 問題 C: Legal or Not

題目描述 ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many "holy cows" like HH, hh, AC, ZT, lcc, BF, Qinz and so on chat on-line to exchange their ideas. When so…

博客信息管理/博客管理

🛠 博客管理模塊:設計建議 你應該以To B 的后臺系統思路來設計,但保持簡單、輕量級、自己易維護是關鍵。下面是針對你這個場景的建議。 🧱 前端頁面結構(React/Vue 可用) 頁面 說明 博客列表頁 展示所有博…

全平臺開源即時通訊IM框架MobileIMSDK:7端+TCP/UDP/WebSocket協議,鴻蒙NEXT端已發布,5.7K Stars

一、基本介紹 MobileIMSDK是一套全平臺原創開源IM通信層框架: 超輕量級、高度提煉,lib包50KB以內;精心封裝,一套API同時支持UDP、TCP、WebSocket三種協議(可能是全網唯一開源的);客戶端支持iOS…

SpringBoot商城平臺系統設計與開發

概述 SpringBoot商城平臺系統實現了商品展示、購物車、訂單管理等商城核心功能,適合作為計算機專業設計項目或商城項目開發參考,實現商城平臺的核心功能,學習商品管理、訂單處理、支付集成等關鍵技術實現。 主要內容 1. 前臺用戶功能模塊 …

【網絡原理】深入理解HTTPS協議

本篇博客給大家帶來的是網絡原理的知識點, 由于時間有限, 分三天來寫, 本篇為線程第三篇,也是最后一篇. 🐎文章專欄: JavaEE初階 🚀若有問題 評論區見 ? 歡迎大家點贊 評論 收藏 分享 如果你不知道分享給誰,那就分享給薯條. 你們的支持是我不斷創作的動…

【C語言練習】018. 定義和初始化結構體

018. 定義和初始化結構體 018. 定義和初始化結構體1. 定義結構體示例1:定義一個簡單的結構體輸出結果2. 初始化結構體示例2:在聲明時初始化結構體輸出結果示例3:使用指定初始化器初始化結構體(C99及以上標準支持)輸出結果3. 結構體數組示例4:定義和初始化結構體數組輸出結…

3D版同步幀游戲

以下是實現一個3D版同步幀游戲的詳細步驟與完整代碼示例。我們將以第一人稱射擊游戲(FPS)為原型,重點講解3D空間中的同步機制優化。 項目升級:3D版核心改動 1. 3D坐標系與消息結構 // common/messages.go type Vector3 struct {X float32 `json:"x"`Y float32 `…

卷積神經網絡進化史:從LeNet-5到現代架構的完整發展脈絡

摘要 本文系統梳理卷積神經網絡(CNN)從誕生到繁榮的發展歷程。從1998年Yann LeCun開創性的LeNet-5出發,重點解析2012年引爆深度學習革命的AlexNet,并詳細拆解后續演進的五大技術方向:網絡深度化(VGG)、卷積功能強化(ResNet)、檢測任務遷移(F…

在 Windows 中安裝 Pynini 的記錄

#工作記錄 概述 Pynini 是一個用于加權有限狀態文法編譯的 Python 庫,廣泛應用于自然語言處理(NLP)領域。以下記錄旨在用于回顧和幫助大家在 Windows 系統中安裝 Pynini。 安裝思路: 優先用conda虛擬環境 或 在python3.12的vir…

深挖Java之:運算符與輸入器

今天我要介紹的是在Java中對于運算符與輸入器的一些基礎語法運算符與輸入器的代碼示例以及應用場景,他們在應用上的優勢與劣勢作說明介紹: 介紹:運算符與輸入器是兩個基礎且關鍵的概念,它們共同構成了程序與用戶、程序與數據之間…

動態規劃之多狀態問題1

題目解析: 也就是給一個預約數組,選擇一些數字,讓其總和最大,但不能選擇相鄰的兩個數字 算法原理: 依舊可以根據經驗題目 以dp[i]位置結尾時,巴拉巴拉 根據題目要求補充完整,dp[i]&#xff…