長時間のメインスレッドタスク
Silktide は実際のブラウザーでページを読み込み、ページの読み込み中にブラウザーを占有する最長のタスクを記録します。この一覧には、どのスクリプトがページをどのくらいの時間ビジー状態にしていたかが、最長のものから順に表示されます。
重要な理由
ブラウザーは、スクリプトの実行、ページの構築、入力への応答といった作業の大部分を、1つので行います。 1つのタスクが実行されている間は、他の処理を実行できません。クリック、タップ、スクロールはすべて、処理が完了するまで停止します。50ミリ秒を超えるタスクは、人が気づくほど長いため、長時間タスクと呼ばれます。この一覧では、その停止時間が正確にどこから発生しているかを確認できます。
修正方法
これは合否を判定するテストではなく、情報を提供する一覧です。最も負荷の高いスクリプトを見つけ、それぞれについて次の点を検討してください。
- 削除したり、より軽量なものに置き換えたりできますか?サードパーティ製スクリプトが原因であることは少なくありません。サードパーティコードを参照してください。
- ページが操作可能になった後など、後で実行したり、によって必要なときだけ実行したりできますか?
- 作業をより小さな単位に分割したり、メインスレッドからウェブワーカーに移したりできますか?
Silktide のテスト方法
- 実際のブラウザーでページを読み込み、50ミリ秒を超えるすべてのメインスレッドタスクを記録します。
- 可能な場合は、各タスクを原因となったスクリプトに関連付けます。
- タスクを所要時間とともに、最長のものから順に一覧表示します。100ミリ秒を超えるタスクは、より重大なものとして強調表示されます。