Raport na temat użytkowania Chrome ma pomóc społeczności internetowej w zrozumieniu rozkładu i ewolucji wydajności wśród prawdziwych użytkowników. Do tej pory skupialiśmy się na wskaźnikach wyrenderowania i wczytywania stron, takich jak pierwsze wyrenderowanie treści (FCP) i Onload (OL), które pomogły nam zrozumieć, jak wizualnie działają strony dla użytkowników. Od czerwca 2018 r. testujemy nowe dane zorientowane na użytkownika, które skupiają się na interaktywności stron internetowych: opóźnieniu przy pierwszym działaniu (FID). Dzięki temu nowemu wskaźnikowi będziemy mogli lepiej zrozumieć, jak strony internetowe responsywne reagują na dane wprowadzane przez użytkowników.
Niedawno udostępniliśmy w Chrome FID w ramach testowania origin, co oznacza, że witryny mogą eksperymentować z tą nową funkcją platformy internetowej. Podobnie FID będzie dostępny w raporcie na temat użytkowania Chrome jako dane eksperymentalne, co oznacza, że będzie dostępny przez cały okres testów w ramach osobnego przedrostka „experimental”.
Jak mierzony jest wskaźnik FID
Czym dokładnie jest identyfikator FID? Oto definicja tego parametru w artykule z ogłoszeniem o opóźnieniu przy pierwszym działaniu:
Opóźnienie przy pierwszym działaniu (FID) mierzy czas, jaki upływa od pierwszej interakcji użytkownika z Twoją witryną (np. kliknięcia linku, przycisku lub użycia niestandardowego elementu sterującego JavaScript) do chwili, w której przeglądarka jest w stanie na to działanie zareagować.
To jak mierzenie czasu od momentu naciśnięcia dzwonka do momentu otwarcia drzwi. Może to być spowodowane wieloma czynnikami. Może na przykład być daleko od drzwi lub nie może szybko się poruszać. Podobnie strony internetowe mogą być zajęte wykonywaniem innych zadań lub urządzenie użytkownika może być wolne.
Analiza wskaźnika FID w raporcie na temat użytkowania Chrome
Dzięki miesiącowi danych FID z milionów źródeł mamy już do odkrycia mnóstwo interesujących informacji. Przyjrzyjmy się kilku zapytaniom, które pokazują, jak wyodrębnić te statystyki z raportu na temat UX Chrome w BigQuery.
Zacznijmy od sprawdzenia odsetka szybkich reakcji FID na developers.google.com. Możemy określić, że FID jest krótszy niż 100 ms. Zgodnie z zaleceniami RAIL, jeśli opóźnienie wynosi 100 ms lub więcej, powinno ono być natychmiastowe.
SELECT
ROUND(SUM(IF(fid.start < 100, fid.density, 0)), 4) AS fast_fid
FROM
`chrome-ux-report.all.201806`,
UNNEST(experimental.first_input_delay.histogram.bin) AS fid
WHERE
origin = 'https://developers.google.com'
Wyniki wskazują, że 95% doświadczeń związanych z FID w tym pochodzeniu jest postrzeganych jako natychmiastowe. Wygląda to naprawdę dobrze, ale jak wypada na tle wszystkich źródeł w zbiorze danych?
SELECT
ROUND(SUM(IF(fid.start < 100, fid.density, 0)) / SUM(fid.density), 4) AS fast_fid
FROM
`chrome-ux-report.all.201806`,
UNNEST(experimental.first_input_delay.histogram.bin) AS fid
Wyniki tego zapytania wskazują, że 84% wartości FID jest krótsze niż 100 ms. Oznacza to, że developers.google.com jest powyżej średniej.
Następnie podzielimy te dane, aby sprawdzić, czy istnieje różnica między odsetkiem szybkich FID na komputerach a na urządzeniach mobilnych. Jedna z hipotez mówi, że urządzenia mobilne mają wolniejsze wartości FID, prawdopodobnie ze względu na wolniejszy sprzęt w porównaniu z komputerami stacjonarnymi. Jeśli procesor jest słabszy, przez dłuższy czas może być bardziej obciążony, co powoduje wolniejsze działanie FID.
SELECT
form_factor.name AS form_factor,
ROUND(SUM(IF(fid.start < 100, fid.density, 0)) / SUM(fid.density), 4) AS fast_fid
FROM
`chrome-ux-report.all.201806`,
UNNEST(experimental.first_input_delay.histogram.bin) AS fid
GROUP BY
form_factor
form_factor | fast_fid |
---|---|
komputer | 96,02% |
telefon | 79,90% |
tablet | 76,48% |
Wyniki potwierdzają naszą hipotezę. Komputery mają większą kumulatywną gęstość szybkich doświadczeń FID niż telefony i tablety. Zrozumienie dlaczego tych różnic, np. wydajności procesora, wymagałoby testów A/B wykraczających poza zakres Raportu na temat użytkowania Chrome.
Teraz, gdy już wiesz, jak sprawdzić, czy pochodzenie ma szybkie FID, przyjrzyjmy się kilku źródłom, które działają naprawdę dobrze.
Przykład 1. http://secretlycanadian.com
Ten adres źródłowy ma 98% FID poniżej 100 ms. Jak to osiąga? Analizując jej budowę w WebPageTest, widzimy, że jest to strona WordPressa z dużą liczbą obrazów, ale zawiera 168 KB kodu JavaScript, który wykonuje się na naszej maszynie laboratoryjnej w czasie około 500 ms. Według archiwum HTTP strona ta zawiera niewiele kodu JavaScriptu, co stawia ją na 28. poziomie w rankingu.
Różowy pasek od 2,7 do 3,0 sekund to faza analizowania kodu HTML. W tym czasie strona nie jest interaktywna i wygląda na niepełną wizualnie (patrz „3.0s” na serii zdjęć powyżej). Następnie wszystkie długie zadania, które wymagają przetworzenia, są dzielone, aby zapewnić, że wątek główny pozostanie w spoczynku. Różowe linie w wierszu 11 pokazują, jak kod JavaScript jest rozłożony w krótkich odstępach.
Przykład 2. https://www.wtfast.com
To źródło ma 96% doświadczeń z błyskawicznym FID. Wczytuje 267 KB kodu JavaScript (38 centyl w archiwum HTTP) i przetwarza go przez 900 ms na komputerze w module. Pasek filmu pokazuje, że strona potrzebuje około 5 sekund na wyrenderowanie tła i około 2 sekund na wyrenderowanie treści.
Najciekawsze w wynikach jest to, że gdy wątek główny jest zajęty przez 3–5 sekund, nie jest nawet widoczny żaden element interaktywny. To właśnie wolne działanie FCP na tej stronie poprawia FID. To dobry przykład tego, jak ważne jest używanie wielu danych do reprezentowania wrażeń użytkowników.
Zacznij przeglądać
Więcej informacji o FID znajdziesz w odcinku The State of the Web z tego tygodnia:
Dzięki FID w raporcie na temat użytkowania Chrome możemy ustalić podstawę do pomiaru interakcji. Na podstawie tej wartości bazowej możemy obserwować zmiany w przyszłych wersjach lub porównywać poszczególne źródła. Jeśli chcesz zacząć zbierać dane o czasie wczytywania na podstawie pomiarów polowych na własnej stronie, zarejestruj się w celu udziału w próbnej wersji usługi, klikając bit.ly/event-timing-ot i wybierając funkcję Czas wczytywania zdarzenia. I oczywiście zacznij eksplorować zbiór danych, aby uzyskać ciekawe informacje o stanie interakcji w internecie. Jest to nadal dane eksperymentalne, dlatego prześlij nam swoją opinię i dodaj analizę w grupie dyskusyjnej dotyczącej raportu na temat użytkowania Chrome lub na koncie @ChromeUXReport na Twitterze.