Web表示スピード研究会

【FID】ー First Input Delay・最初の入力遅延

※2024年3月にFIDはINPに置き換わります。そのため、これからはFID対策ではなくINP対策を意識して進めてみてください。またINPの代替指標は、引き続きTBTになります。INPとTBTは同じではありません。あくまでTBT向上は参考値として考えるようにしてください。

 関連リンク:【INP】ーInteraction to Next Page・開始前に、修正しましょう!対策方法

INDEX

FIDは、ページがユーザー操作にどれだけ早く応答するかを計測します。FID の目的は、JavaScript がページ エクスペリエンスに与える影響を見極めることだと言っても過言ではありません。FID は実際のユーザー インタラクションを測るため、RUM ツールでのみ計測できます。

FIDimage3
FID 結果のしきい値は、75 パーセンタイルで 100 ミリ秒未満。300 ミリ秒を超えると不良とみなされます。

FID に関する注意すべき技術事項:

FID が遅くなる原因は何ですか?

入力遅延は、ブラウザのメインスレッドがビジー状態でユーザーに応答できない場合に発生します。最も原因は、ブラウザが大きな JavaScriptの解析と実行で忙しいことが原因です。ページの多くに不要な JS が大量にあり、JS ファイルは年々増えています。ページ上の JS が多いほど、FID 時間が遅くなる可能性が高くなります。

FID 問題を調査する方法

FID は RUM でのみ計測できます。このため、追跡はかなり簡単になりますが、調査は困難になります。RUM での FID の計測と並行して、シンセティックで合計ブロック時間 (TBT) を計測することをお勧めします。

FIDを改善する方法

詳細:最初の入力遅延を最適化する

TBT – Total Blocking Time・総ブロッキングタイム

総ブロッキングタイム(TBT) は、メインスレッドが入力の応答性を妨げるほど長くブロックされた場合の、FCP(First Contentful Paint ) と TTI(Time to Interactive) の間の合計時間を計測します。TBT はFIDの代替指標として使われ、シンセティックツールで計測されます。

良好な TBT 結果のしきい値は 300 ミリ秒未満。600 ミリ秒を超えると不良とみなされます。

TBTを追跡する場合は、次のような点に注意してください。

TBT を調査する

最初のページ ナビゲーションから完全にロードされるまでの、すべてのタスクを識別するために、TBT と並行して「ロングタスクを追跡する」ことをお勧めします。こうしたロングタスクを表す各指標に注目して、長いページ読み込みとユーザーに与える影響を理解するようにします。

FIDimage2
SpeedCurve では、RUM のFID と並行して、シンセティックテストで JS によるTBT を追跡できます。TBT は FID の優れたプロキシであるだけでなく、どのスクリプトが長いタスクであるかをすぐに確認できます。

TBTを改善する方法

チャートに長いタスクの赤い部分が現れている場合、FIDと同様に、多くの同じ解決策をここにも適用できます。

重要な原則として、JavaScript タスクは、より小さなチャンクに分割することです。これにより、ブラウザのメインスレッドに、いくつかのピクセルを読み込んでレンダリングしたり、ユーザー入力に応答したりすることができます。TBTを改善する最適化は、FID の結果に対しても有効な場合があります。

詳細: TBT を改善する方法(英語版)

※2024年3月にFIDはINPに置き換わります。そのため、これからはFID対策ではなくINP対策を意識して進めてみてください。またINPの代替指標は、引き続きTBTになります。INPとTBTは同じではありません。あくまでTBT向上は参考値として考えるようにしてください。



関連リンク

PSI、表示スピード、コアウエブバイタル INPの各対策については