roobrief

開発・リリース

Chrome DevTools、SPAのソフトナビゲーション分析が完成、CPU性能ティアの上書きも追加

SPAの「画面遷移」の速さをDevToolsでそのまま分析でき、デバイス性能別のパフォーマンステストをコードで同じように再現できるようになった。

Chrome DevToolsは、SPA(ページを再読み込みせずに画面を切り替えるWebアプリ)の開発者向けに、パフォーマンス機能を2つ追加した。ひとつはPerformanceパネルのInsightsでソフトナビゲーションを分析する機能、もうひとつはChrome DevTools Protocol(CDP、DevToolsをコードから操作するための規格)でCPUの性能ティアを指定するコマンドだ。Chrome for DevelopersのDevToolsアップデート記事(Chrome 153・154対象、9月22日公開)に載っている。

ソフトナビゲーションとは

通常、リンクをクリックするとブラウザーはサーバーから新しいページを取得する。SPAは違う。JavaScriptがアドレスバーのURLだけを変え、画面の一部を差し替える。ユーザーにはページ移動に見えるが、ブラウザーは「新しいページを開いた」とは認識していない。

そのため、読み込みの指標(LCP)は最初の1回しか測定されず、その後の画面遷移は測定から抜け落ちていた。Soft Navigations APIは、こうした遷移をひとつの移動として認識し、性能を別に測れるようにするものだ。

  • Chrome 152で、DevToolsのLive Metricsとトレース画面にソフトナビゲーションのサポートが入った。
  • 今回、PerformanceパネルのInsightsに分析が追加され、Chromeはこれを「測定から分析までのエンドツーエンドのサポートの完成」と説明している。

CPU性能ティアをコードで指定

  • 新しいCDPコマンドは Emulation.setCPUPerformanceOverride だ。較正済みのCPU性能ティアを設定し、「ハードウェア階層をまたいだ再現可能な性能テスト」を可能にするとChromeは説明している。
  • 従来の方式(Emulation.setCPUThrottlingRate)は、CPUを「4倍遅く」のように固定倍率で遅くしていた。新しい方式は、まず自分のPCの実際の性能を測り、「低性能モバイル」「中性能モバイル」といった基準を作って、そのティアに合わせる仕組みだと伝えられている。

この部分の詳細(ティアの種類、較正の方法)はChromeの記事では詳しく説明されていない。較正プリセットの説明は、DevToolsのスロットリングに関するドキュメントに基づく。

確認できなかった点

  • 「Soft Navigation Timing APIによる統合モニタリングを提供」: DevToolsの分析サポートとAPIの正式提供は別の話だ。Chromeは4月20日の記事で、Chrome 147〜149にわたる最後のオリジントライアル(一部のサイトが機能を先行して試せる試験期間)を開始し、正式提供は今年中を計画しているとだけ述べた。その後に正式提供されたかは確認できなかった。一部の外部記事は提供済みと書いているが、Chrome公式の資料では確認できなかった。
  • 「ReactやNext.jsなどのフレームワークが対象」: Chromeの記事でフレームワークに触れた箇所は見つからなかった。特定のフレームワークではなく、SPA方式の画面遷移全般が対象と見られる。
  • 「コマンド群」: Chromeの記事で確認できた新しいCDPコマンドは Emulation.setCPUPerformanceOverride の1つだけだ。
  • 日付: Chromeの記事の公開日は9月22日だ(ページタイトルは「October 2026」)。

開発者に起こりうる変化

以下は公式記事をもとにした筆者の推測と助言だ。

  • すぐ試せること: Chrome 153以降のPerformanceパネルのInsightsで、SPAの画面遷移ごとのボトルネックを確認できる。最初の読み込みだけを見る測定から離れ、「ルートを移動するときに何が遅いか」を探すのに向いている。
  • 実ユーザーのデータ収集はまだ早い: Soft Navigations APIは正式提供前の段階なので、実際の訪問者の遷移性能の収集に使うには、ブラウザーの対応範囲を別途確認する必要がある。
  • 自動テストで同じ条件を作る: CI(コードを上げるたびに自動で走る検査)やE2Eテスト(ブラウザーを自動で操作して確認するPuppeteerやPlaywrightなど)でCPUティアを固定すれば、「この変更で遅くなったか」を同じ基準で比較しやすくなる。
  • 同じマシンで比べよう: ティアは各PCの性能を較正して作られる。チームメンバーやCIマシンごとに基準が異なる場合があるので、比較は同じ環境で行うほうが安全だ。

今後の注目点

Soft Navigations APIの正式提供時期と他のブラウザーの対応、Emulation.setCPUPerformanceOverride の公式ドキュメントとパラメーター、そしてNext.jsなどのフレームワークがソフトナビゲーションをどう扱うか。

出典

出典: developer.chrome.com

← 戻る