Tương tác với thời gian hiển thị tiếp theo (INP)

Hỗ trợ trình duyệt

  • 96
  • 96
  • x
  • x

Nguồn

Dữ liệu sử dụng Chrome cho thấy 90% thời gian người dùng dành cho một trang sau khi tải. Do đó, việc đo lường cẩn thận khả năng phản hồi trong suốt vòng đời của trang là rất quan trọng. Đây là nội dung mà chỉ số INP đánh giá.

Khả năng phản hồi tốt có nghĩa là trang phản hồi nhanh chóng với các tương tác. Khi một trang phản hồi một tương tác, trình duyệt sẽ hiển thị phản hồi trực quan trong khung tiếp theo mà trình duyệt hiển thị. Phản hồi trực quan cho bạn biết liệu một mặt hàng mà bạn thêm vào giỏ hàng trực tuyến có thực sự đang được thêm vào hay không, trình đơn điều hướng trên thiết bị di động đã mở hay chưa, nội dung của biểu mẫu đăng nhập có đang được máy chủ xác thực hay không, v.v.

Một số tương tác thường mất nhiều thời gian hơn so với các tương tác khác, nhưng đối với các tương tác đặc biệt phức tạp, điều quan trọng là bạn phải nhanh chóng đưa ra một số phản hồi bằng hình ảnh ban đầu để cho người dùng biết điều gì đó đang xảy ra. Khung tiếp theo mà trình duyệt sẽ vẽ là cơ hội sớm nhất để thực hiện việc này.

Do đó, mục đích của INP không phải là đo lường tất cả tác động cuối cùng của một lượt tương tác (chẳng hạn như tìm nạp mạng và cập nhật giao diện người dùng từ các hoạt động không đồng bộ khác) mà là thời điểm nội dung hiển thị tiếp theo bị chặn. Bằng cách trì hoãn phản hồi bằng hình ảnh, người dùng có thể có ấn tượng rằng trang không phản hồi đủ nhanh và INP đã được phát triển để giúp nhà phát triển đo lường phần này trong trải nghiệm người dùng.

Trong video sau đây, ví dụ ở bên phải đưa ra phản hồi trực quan ngay lập tức cho biết một đàn phong cầm đang mở. Ví dụ về khả năng phản hồi kém được minh hoạ ở bên trái và vấn đề này có thể gây ra trải nghiệm kém cho người dùng như thế nào.

Ví dụ về trường hợp phản hồi kém so với phản hồi tốt. Ở bên trái, các thao tác dài sẽ chặn đàn phong cầm mở. Điều này khiến người dùng nhấp vào nhiều lần và cho rằng trải nghiệm không tốt. Khi luồng chính bắt kịp, luồng chính sẽ xử lý các đầu vào bị trễ, dẫn đến việc đàn xếp mở và đóng đột ngột. Ở bên phải, trang phản hồi nhanh hơn sẽ mở đàn phong cầm một cách nhanh chóng và không có sự cố.

Hướng dẫn này giải thích cách hoạt động và cách đo lường INP và chỉ ra các tài nguyên để cải thiện INP.

INP là gì?

INP là chỉ số đánh giá khả năng phản hồi tổng thể của một trang đối với các tương tác của người dùng bằng cách quan sát độ trễ của tất cả các tương tác nhấp, nhấn và bàn phím xảy ra trong suốt thời gian người dùng truy cập vào một trang. Giá trị INP cuối cùng tương ứng với lượt tương tác dài nhất quan sát được, bỏ qua các điểm ngoại lai.

Thông tin chi tiết về cách tính INP

INP được tính bằng cách quan sát tất cả các lượt tương tác được thực hiện với một trang. Đối với hầu hết các trang web, hoạt động tương tác có độ trễ thấp nhất được báo cáo là INP.

Tuy nhiên, đối với những trang có số lượng tương tác lớn, tình trạng trục trặc ngẫu nhiên có thể dẫn đến tương tác có độ trễ cao bất thường trên trang thích ứng khác. Càng nhiều lượt tương tác xảy ra trên một trang nhất định thì điều này càng có nhiều khả năng xảy ra.

Để đo lường chính xác hơn khả năng phản hồi thực tế cho các trang có số lượt tương tác cao, chúng tôi bỏ qua 1 lượt tương tác cao nhất cho mỗi 50 lượt tương tác. Phần lớn trải nghiệm trên trang không có hơn 50 lượt tương tác, vì vậy, lượt tương tác kém nhất thường được báo cáo nhất. Sau đó, hệ thống sẽ báo cáo tỷ lệ phần trăm thứ 75 của tổng số lượt xem trang như thường lệ, giúp loại bỏ những điểm ngoại lai để đưa ra một giá trị mà phần lớn người dùng trải nghiệm hoặc tốt hơn.

Lượt tương tác là một nhóm trình xử lý sự kiện kích hoạt trong cùng một cử chỉ logic của người dùng. Ví dụ: các hoạt động tương tác "nhấn" trên thiết bị màn hình cảm ứng bao gồm nhiều sự kiện, chẳng hạn như pointerup, pointerdownclick. Hành động tương tác có thể do JavaScript, CSS, các thành phần điều khiển tích hợp sẵn trong trình duyệt (chẳng hạn như thành phần biểu mẫu) hoặc sự kết hợp của các thành phần này.

Độ trễ của một lượt tương tác bao gồm thời lượng dài nhất của một nhóm trình xử lý sự kiện giúp thúc đẩy lượt tương tác đó, từ thời điểm người dùng bắt đầu tương tác đến thời điểm trình duyệt vẽ khung tiếp theo.

Điểm INP cao là gì?

Việc ghim các nhãn như "tốt" hoặc "kém" vào chỉ số khả năng phản hồi sẽ khó khăn. Một mặt, bạn nên khuyến khích các phương pháp phát triển ưu tiên khả năng phản hồi tốt. Mặt khác, bạn phải tính đến thực tế là chức năng của thiết bị mà mọi người sử dụng có sự thay đổi đáng kể để đặt ra những kỳ vọng có thể đạt được về sự phát triển.

Để đảm bảo bạn đang cung cấp trải nghiệm người dùng với khả năng phản hồi tốt, một ngưỡng tốt để đo lường là phân vị thứ 75 của lượt tải trang được ghi lại trong trường, được phân đoạn trên thiết bị di động và máy tính để bàn:

  • INP dưới hoặc tại 200 mili giây có nghĩa là trang có phản hồi tốt.
  • INP trên 200 mili giây trở xuống hoặc thấp hơn 500 mili giây có nghĩa là khả năng phản hồi của trang cần cải thiện.
  • INP trên 500 mili giây có nghĩa là trang có khả năng phản hồi kém.
Giá trị INP tốt là 200 mili giây trở xuống, giá trị kém lớn hơn 500 mili giây và những giá trị còn lại cần cải thiện.
Giá trị INP tốt là từ 200 mili giây trở xuống. Giá trị kém lớn hơn 500 mili giây.

Nội dung tương tác là gì?

Sơ đồ mô tả một hoạt động tương tác trên luồng chính. Người dùng nhập dữ liệu trong khi chặn các tác vụ chạy. Dữ liệu đầu vào bị trì hoãn cho đến khi các tác vụ đó hoàn tất, sau đó các trình xử lý sự kiện con trỏ, di chuột lên và nhấp chuột sẽ chạy, sau đó công việc kết xuất và vẽ tranh được khởi động cho đến khi khung tiếp theo được trình bày.
Vòng đời của một hoạt động tương tác. Độ trễ đầu vào xảy ra cho đến khi trình xử lý sự kiện bắt đầu chạy, có thể là do các yếu tố như tác vụ mất nhiều thời gian trên luồng chính. Sau đó, các lệnh gọi lại trình xử lý sự kiện của lượt tương tác sẽ chạy và độ trễ xảy ra trước khi khung tiếp theo hiển thị.

Yếu tố chính của tính tương tác thường là JavaScript, mặc dù các trình duyệt cung cấp tính tương tác thông qua các chế độ kiểm soát không do JavaScript cung cấp, chẳng hạn như hộp đánh dấu, nút chọn và các chế độ kiểm soát do CSS cung cấp.

Theo mục đích của INP, chỉ các loại tương tác sau đây được quan sát:

  • Nhấp bằng chuột.
  • Nhấn vào một thiết bị có màn hình cảm ứng.
  • Nhấn một phím trên bàn phím vật lý hoặc bàn phím ảo.

Hoạt động tương tác diễn ra trong tài liệu chính hoặc trong iframe được nhúng trong tài liệu — ví dụ: nhấp vào phát trên video được nhúng. Người dùng cuối sẽ không biết nội dung nào có trong iframe hay không, do đó, INP cần bên trong iframe để đo lường trải nghiệm người dùng cho trang cấp cao nhất. Do các API Web JavaScript không có quyền truy cập vào nội dung của iframe, nên điều này có thể là sự khác biệt giữa CrUX và rum

Hoạt động tương tác có thể bao gồm nhiều sự kiện. Ví dụ: một thao tác nhấn phím bao gồm các sự kiện keydown, keypresskeyup. Hoạt động tương tác với thao tác nhấn chứa các sự kiện pointeruppointerdown. Sự kiện có thời lượng dài nhất trong lượt tương tác là yếu tố tính vào tổng độ trễ của lượt tương tác.

Mô tả tương tác phức tạp hơn có chứa hai tương tác. Sự kiện đầu tiên là sự kiện di chuột xuống. Sự kiện này tạo ra một khung trước khi thả nút chuột. Sự kiện này sẽ kích hoạt nhiều công việc hơn cho đến khi một khung hình khác xuất hiện.
Mô tả một hoạt động tương tác với nhiều trình xử lý sự kiện. Phần đầu tiên của tương tác nhận dữ liệu đầu vào khi người dùng nhấp xuống nút chuột. Tuy nhiên, trước khi họ nhả nút chuột, một khung sẽ xuất hiện. Khi người dùng thả nút chuột, một loạt trình xử lý sự kiện khác phải chạy trước khi khung hình tiếp theo xuất hiện.

INP của trang được tính khi người dùng rời khỏi trang. Kết quả là một giá trị duy nhất đại diện cho khả năng phản hồi tổng thể của trang trong suốt vòng đời của trang. Chỉ số INP thấp có nghĩa là một trang phản hồi đáng tin cậy với hoạt động đầu vào của người dùng.

INP khác với Thời gian phản hồi lần tương tác đầu tiên (FID) như thế nào?

INP là chỉ số kế thừa Thời gian phản hồi lần tương tác đầu tiên (FID). Mặc dù cả hai đều là chỉ số về khả năng thích ứng, nhưng FID chỉ đo lường độ trễ đầu vào của lượt tương tác đầu tiên trên một trang. INP cải thiện FID bằng cách quan sát tất cả tương tác trên một trang, bắt đầu từ độ trễ đầu vào, thời gian cần để chạy trình xử lý sự kiện và cuối cùng cho đến khi trình duyệt vẽ khung tiếp theo.

Những điểm khác biệt này có nghĩa là cả INP và FID đều là hai loại chỉ số về khả năng phản hồi. Trong đó FID là chỉ số về khả năng phản hồi khi tải được thiết kế để đánh giá lượt hiển thị đầu tiên của trang đối với người dùng, còn INP là chỉ báo đáng tin cậy hơn về khả năng phản hồi tổng thể, bất kể thời điểm tương tác với trang xảy ra.

Nếu không có giá trị INP nào được báo cáo thì sao?

Có thể một trang không trả về giá trị INP nào. Điều này có thể xảy ra vì một số lý do như sau:

  • Trang đã được tải nhưng người dùng chưa từng nhấp, nhấn hay nhấn một phím trên bàn phím.
  • Trang đã tải nhưng người dùng tương tác với trang bằng các cử chỉ không được đo lường, chẳng hạn như cuộn hoặc di chuột qua các phần tử.
  • Một bot đang truy cập trang này, chẳng hạn như trình thu thập thông tin tìm kiếm hoặc trình duyệt không có giao diện người dùng, chưa được lập trình để tương tác với trang.

Cách đo lường INP

Có thể đo lường INP ở cả thực địa và trong phòng thí nghiệm bằng nhiều công cụ.

Trên thực địa

Tốt nhất là hành trình tối ưu hoá INP của bạn nên bắt đầu từ dữ liệu thực địa. Tuyệt vời nhất, dữ liệu thực tế trong báo cáo Giám sát người dùng thực tế (rum) không chỉ cung cấp cho bạn giá trị INP của trang, mà còn cả dữ liệu ngữ cảnh nêu bật lượt tương tác cụ thể chịu trách nhiệm về giá trị INP, liệu lượt tương tác xảy ra trong hoặc sau khi tải trang, loại tương tác (lượt nhấp, thao tác nhấn phím hoặc nhấn) và các dấu thời gian có giá trị khác có thể giúp bạn xác định phần nào của lượt tương tác đã ảnh hưởng đến khả năng phản hồi.

Nếu trang web của bạn đủ điều kiện được đưa vào Báo cáo trải nghiệm người dùng của Chrome (CrUX), bạn có thể nhanh chóng nhận được dữ liệu thực địa cho INP thông qua CrUX trong PageSpeed Insights (và các Chỉ số quan trọng chính khác về trang web). Ít nhất bạn có thể xem được thông tin về INP của trang web ở cấp nguồn gốc, nhưng trong một số trường hợp, bạn cũng có thể xem dữ liệu ở cấp URL.

Tuy nhiên, mặc dù CrUX có thể cho bạn biết liệu có vấn đề hay không, nhưng tính năng này không thể cho bạn biết nguyên nhân gây ra vấn đề. Một giải pháp rum có thể giúp bạn tìm ra thêm thông tin chi tiết về những trang, người dùng hoặc hoạt động tương tác của người dùng đang gặp vấn đề về tốc độ phản hồi. Việc có thể phân bổ INP cho từng hoạt động tương tác sẽ giúp bạn tránh phải phỏng đoán và lãng phí công sức.

Ở phòng thí nghiệm

Tốt nhất là bạn nên bắt đầu thử nghiệm trong phòng thí nghiệm sau khi có dữ liệu thực tế cho thấy một trang có mức độ tương tác chậm. Tuy nhiên, nếu bạn không có dữ liệu thực tế, có một số chiến lược để tái tạo tương tác chậm trong phòng thí nghiệm. Chiến lược bao gồm việc theo dõi luồng người dùng phổ biến và thử nghiệm các lượt tương tác trong quá trình này, cũng như tương tác với trang khi trang tải (khi luồng chính thường bận rộn nhất) để xác định các lượt tương tác chậm trong giai đoạn quan trọng của trải nghiệm người dùng.

Cách cải thiện INP

Bạn có thể tham khảo bộ sưu tập hướng dẫn về cách tối ưu hoá INP để hướng dẫn bạn trong suốt quy trình xác định tương tác chậm tại hiện trường, cũng như sử dụng dữ liệu trong phòng thí nghiệm để giúp bạn xác định nguyên nhân và tối ưu hoá các nguyên nhân đó.

Nhật ký thay đổi

Đôi khi, lỗi được phát hiện trong các API dùng để đo lường chỉ số và đôi khi trong định nghĩa của chính các chỉ số. Do đó, đôi khi, bạn phải thực hiện thay đổi và những thay đổi này có thể hiển thị dưới dạng sự cải thiện hoặc hồi quy trong báo cáo nội bộ và trang tổng quan của bạn.

Để giúp bạn quản lý vấn đề này, tất cả các thay đổi đối với cách triển khai hoặc định nghĩa các chỉ số này sẽ xuất hiện trong Nhật ký thay đổi này.

Nếu bạn muốn gửi ý kiến phản hồi về các chỉ số này, hãy gửi ý kiến phản hồi trong nhóm Google có chỉ số quan trọng trên web.

Kiểm tra kiến thức

Mục tiêu chính của chỉ số INP là gì?

Để đo lường thời gian hiển thị nội dung đầu tiên của một trang.
Không chính xác – Phương thức này mô tả Nội dung đầu tiên hiển thị
Để định lượng độ ổn định về hình ảnh của một trang và giảm thiểu tình trạng thay đổi bố cục ngoài dự kiến.
Không chính xác - Phần này mô tả Điểm số tổng hợp về mức thay đổi bố cục
Dùng để đánh giá thời gian cần thiết để một trang tương tác hoàn chỉnh.
Không chính xác - Điều này liên quan đến Thời gian tương tác, nhưng INP đặc biệt tập trung vào khả năng phản hồi hoạt động đầu vào của người dùng
Để giảm thiểu thời gian từ khi người dùng bắt đầu một lượt tương tác cho đến khi khung tiếp theo được vẽ, cho tất cả hoặc hầu hết các lượt tương tác mà người dùng bắt đầu.
Chính xác!

Loại tương tác nào sau đây được quan sát để tính toán INP? (Chọn tất cả các mục phù hợp.)

Nhấp bằng chuột.
Chính xác!
Cuộn trang bằng con lăn chuột hoặc bàn di chuột.
Không chính xác – INP không xem xét cuộn
Nhấn vào màn hình cảm ứng.
Chính xác!
Di con trỏ chuột qua các thành phần.
Không chính xác – INP không xem xét việc di chuột qua
Nhấn một phím trên bàn phím.
Chính xác!
Phóng to hoặc thu nhỏ trang.
Không chính xác - INP không xem xét thu phóng

"Độ trễ" của một lượt tương tác được xác định như thế nào đối với INP?

Khoảng thời gian để trình duyệt xử lý trình xử lý sự kiện của một hoạt động tương tác.
Không chính xác – Trường hợp này chỉ tính đến thời gian xử lý, chứ không tính đến độ trễ đầu vào hoặc thời gian hiện khung hình tiếp theo
Thời gian trung bình cần thiết để tất cả các lượt tương tác trên một trang tạo ra phản hồi trực quan.
Không chính xác - INP tập trung vào tương tác lâu nhất chứ không phải mức trung bình
Thời gian cần thiết để trình duyệt bắt đầu xử lý trình xử lý sự kiện được liên kết với một lượt tương tác.
Không chính xác – Chỉ tính đến độ trễ đầu vào, chứ không tính đến thời gian xử lý và kết xuất
Khoảng thời gian từ khi bắt đầu tương tác đến thời điểm khung hình tiếp theo hiển thị đầy đủ.
Chính xác!

Sự khác biệt giữa INP và FID là gì?

INP đo lường thời gian cần thiết để nội dung đầu tiên hiển thị trên một trang, trong khi FID đo lường khả năng phản hồi đối với hoạt động đầu vào của người dùng.
Không chính xác – Thông tin này mô tả Nội dung đầu tiên hiển thị, không phải INP
INP xem xét toàn bộ thời lượng của tất cả các lượt tương tác, trong khi FID chỉ đo lường độ trễ đầu vào của lượt tương tác đầu tiên.
Chính xác!
INP và FID đo lường các dấu thời gian khác nhau mà tại đó một trang có tính tương tác.
Không chính xác – INP và FID là thước đo tốc độ trang phản hồi với các lượt tương tác, bất kể thời điểm tương tác xảy ra
Không có gì khác biệt; INP và FID chỉ là hai tên khác nhau cho cùng một chỉ số.
Sai - Hai thuật ngữ này có các định nghĩa riêng biệt

Trong những trường hợp nào thì dữ liệu INP có thể không có sẵn cho một trang trong các công cụ như PageSpeed Insights?

Trang này đang sử dụng một thư viện đo lường hiệu suất tuỳ chỉnh và thư viện này không báo cáo dữ liệu INP.
Không chính xác – INP được đo tự động bằng API nền tảng web và không dựa vào các trang tự báo cáo hiệu suất thông qua thư viện tuỳ chỉnh.
Không có đủ dữ liệu tương tác từ người dùng Chrome để tính toán giá trị INP có ý nghĩa trong tập dữ liệu CrUX.
Chính xác!
Người dùng chỉ tương tác với trang thông qua thao tác cuộn và di chuột, những hoạt động này không được xem xét cho INP.
Chính xác!
Trang này được xây dựng bằng một khung tự động tối ưu hoá cho INP, nên bạn không cần báo cáo trang này.
Không chính xác – Khung có thể giúp giải quyết INP, nhưng chỉ số này vẫn liên quan và được báo cáo nếu có dữ liệu

Chiến lược hiệu quả nhất để tái tạo tương tác chậm trong môi trường phòng thí nghiệm là gì?

Mô phỏng một thiết bị cao cấp có kết nối mạng chậm và không đáng tin cậy để tạo ra những điều kiện khó khăn.
Không chính xác – Mặc dù mạng có thể đóng vai trò quan trọng, nhưng khả năng của thiết bị sẽ có nhiều khả năng cho thấy các hoạt động tương tác chậm
Chỉ kiểm tra các lượt tương tác sau khi trang đã tải đầy đủ và không hoạt động.
Không chính xác - Điều này có thể bỏ lỡ các tương tác bị chậm trong quá trình tải
Tương tác với trang trong khi tải và theo dõi các luồng người dùng phổ biến để xác định nút thắt cổ chai tiềm ẩn.
Chính xác!
Tập trung vào các tương tác phức tạp, hiếm gặp mà hầu hết người dùng ít khi gặp phải.
Không chính xác - Các luồng người dùng phổ biến phù hợp hơn để xác định các vấn đề INP điển hình

Bài kiểm tra này do Gemini 1.5 tạo ra và được con người đánh giá. Chia sẻ ý kiến phản hồi của bạn