murattunalı.

INP.

Interaction to Next PaintTANIM

INP, bir kullanıcı etkileşiminden sonra sayfanın görsel yanıt vermesine kadar geçen süredir ve Google 200 milisaniyenin altını iyi sayar.

2024 Mart'ında Core Web Vitals'a girdi ve FID'in yerini aldı. Değişim önemliydi: FID yalnız ilk etkileşimin gecikmesini ölçüyordu, INP tüm oturumdaki etkileşimlere bakıyor ve gecikmeyi değil tam döngüyü — girişten bir sonraki boyamaya kadar — ölçüyor.

Süre üç aşamaya ayrılıyor: giriş gecikmesi (ana iş parçacığı meşgul), işleme süresi (olay işleyicileri), sunum gecikmesi (tarayıcı bir sonraki kareyi boyayana kadar). Çoğu ekip yalnız ikincisini düşünüyor; saha verilerinde en büyük payı genelde birinci ve üçüncü alıyor.

En etkili tedaviler sırayla: gereksiz JavaScript'i hiç yüklememek, uzun görevleri bölmek ve ağır hesaplamaları arka plan iş parçacığına taşımak.

Laboratuvar araçlarında güvenilir ölçülemiyor çünkü metrik gerçek kullanıcı etkileşimlerine bakıyor ve bir denetim aracı sayfayla etkileşmiyor. INP için saha verisi bir seçenek değil zorunluluk.

Elli milisaniyeden uzun süren her görev, o süre boyunca sayfayı tepkisiz bırakıyor. İşi küçük parçalara ayırıp aralarında tarayıcıya kontrolü geri vermek toplam süreyi değiştirmiyor ama sayfayı kullanılabilir tutuyor.

Ölçümü kurmak için tarayıcının kendi bildirimi kullanılabiliyor: her etkileşim için süre değeri sayfaya geliyor ve kendi sisteminize gönderilebiliyor. Avantajı ayrıntı — hangi etkileşimin, hangi sayfada ve hangi öğede yavaş olduğunu görebiliyorsunuz.

En büyük tek belirleyici genelde hiç performans kararı olarak alınmayan bir karar: ön yüz mimarisi. İstemcide yeniden canlandırma yapan sayfalar, o iş boyunca ana iş parçacığını meşgul ediyor ve o pencerede yapılan her tıklama gecikiyor.

  1. Gereksiz JavaScript'i hiç yükleme — en büyük kazanç envanterde.
  2. Uzun görevleri böl — elli milisaniyeyi aşan her görev sayfayı dondurur.
  3. Ağır hesabı arka plana taşı — ana iş parçacığını boşalt.
  4. Üçüncü taraf betiklerini tart — sohbet balonu, analitik, reklam.
  5. Etkileşim sonrasına ertele — sayfa yüklenirken gerekmeyen her şey.
  6. Saha verisinden ölç — laboratuvarda güvenilir ölçülemez.

Sıralama kasıtlı: hiç yüklenmeyen bir betiğin maliyeti sıfırdır ve hiçbir optimizasyon o sonucu veremez.

Eşiğin altında kalmak için pratik bir hedef, hiçbir görevin elli milisaniyeyi aşmamasıdır — çünkü bir etkileşim o görevin ortasına denk geldiğinde gecikme doğrudan o kadar uzuyor.

KAYNAKLAR