2016-05-21 18 views
31

Tôi đã kiểm tra trang web của tôi và tôi đã nhận cảnh báo này:hoãn dài chạy timer nhiệm vụ (s) để cải thiện di chuyển êm ái

hoãn dài chạy timer nhiệm vụ (s) để cải thiện di chuyển êm ái. Xem crbug.com/574343

Tôi cũng đã nhìn thấy:

Blink hoãn một nhiệm vụ để làm cho di chuyển mượt mà hơn. Nhiệm vụ hẹn giờ của bạn sẽ mất ít hơn 50ms để chạy để tránh điều này. Vui lòng xem https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/railhttps://crbug.com/574343#c40 để biết thêm thông tin.

Đây là gì?

enter image description here

+1

Bạn đã đọc http://crbug.com/574343 chưa? – Alex

Trả lời

69

này xảy ra khi Blink (công cụ rendering của Chrome) quyết định trì hoãn thực hiện một bộ đếm thời gian (giống như một hàm được chuyển vào requestAnimationFrame, setTimeout, hoặc setInterval) vì những chức năng thường dùng> 50ms để thực hiện có đầu vào cảm ứng của người dùng. Nó được thực hiện để ưu tiên xử lý đầu vào của người dùng (như cuộn và nhấn) phía trên những gì trang web đang làm.

Nếu bạn đã gặp phải thông báo này thì có khả năng người dùng của bạn sẽ nhận được hành vi tương tự. Dưới đây là thế nào để tái tạo kịch bản này:

  1. Có javascript dài chạy được kích hoạt thông qua giờ
  2. Hãy trên điện thoại di động (hoặc bắt chước nó với chế độ thiết bị DevTools)
  3. Có đầu vào cảm ứng, di chuyển ngón tay trên màn hình là đáng tin cậy nhất. Khai thác hoặc flinging trang cũng có thể kích hoạt nó, nhưng nó ít có khả năng và khó khăn hơn để tái sản xuất.
  4. Bộ kiểm soát CPU thử nghiệm của devtools sẽ làm cho JS mất nhiều thời gian hơn và cho bạn cơ hội nhìn thấy nó tốt hơn.

Phương pháp làm thế nào để giải quyết này là trực tiếp từ referenced issue trong thông điệp console xuống trong bình luận 40:

  1. Ghi một dòng thời gian trên trang đó được kích hoạt thông điệp console về hoãn.
  2. Chọn toàn bộ dòng thời gian và mở ngăn "Nhật ký sự kiện" ở gần cuối cửa sổ.
  3. Nhập "Hẹn giờ được kích hoạt" vào trường văn bản bộ lọc. (Xem hình ảnh ở dưới cùng)
  4. Tìm bộ hẹn giờ trong danh sách có "Tổng thời gian" vượt quá 50 mili giây. Đây là những vấn đề. (Lưu ý rằng bộ tính giờ vượt quá 10 mili giây cũng có thể kích hoạt thông báo này trong một số trường hợp mà trình duyệt đang xử lý cử chỉ của người dùng.)

Bạn muốn các chức năng này hoạt động nhanh hơn hoặc ít thường xuyên hơn.

Timer fired filter on timeline

+3

Một trong những câu trả lời hay nhất tôi đã đọc. Cảm ơn bạn! – Sonny

+1

Phiên bản mới hơn của Chrome có tính năng này trong tab 'Hiệu suất', trong trường hợp bạn gặp sự cố khi tìm kiếm nó. – quicklikerabbit

Các vấn đề liên quan