開発
開発
プラットフォームを選択

OVR Metricsツールを使ったパフォーマンスのモニタリング

更新日時: 2025/12/05
OVR Metricsツールは、Meta Questヘッドセットのパフォーマンスモニタリングソリューションで、幅広いパフォーマンス指標(フレームレート、熱、GPUとCPUのスロットリング、1秒あたりのスクリーンティアと期限切れフレームの数など)を提供します。組み込みのシステム指標に加え、アプリ開発者はカスタム指標を定義して、アプリ固有のパフォーマンスやデバッグ情報をトラッキングできます。指標は、画面上のオーバーレイを通じてリアルタイムで視覚化したり、後で分析するためにCSVレポートに自動で記録したりすることができます。OVR Metricsツールは、リモートデバイス管理機能も備えており、Meta Horizonストアで入手できます。
OVR Metricsツールについて詳しくは、OVR Metricsツール - エンジニア以外の方向けのベストプラクティスをご覧ください。

概要

OVR Metricsツールは、実行中のアプリに関するパフォーマンス情報を提供するMeta Questツールです。提供されるパフォーマンス情報の多くは、VrApiのLogcatログで提供されるものと同じです。OVR Metricsツールでは、コマンドラインではなくデバイス上のアプリから情報にアクセスします。Logcatの使用については、「Logcat」のトピックをご覧ください。
OVRメトリックツールは2つのモードで動作します。レポートモードでは、VRセッションに関するパフォーマンスレポートを記録します。このレポートはセッション終了後に参照できます。レポートデータは、PNG画像付きのCSVとして簡単にエクスポートできます。パフォーマンスHUDモードでは、実行中のアプリにHUDオーバーレイを表示し、パフォーマンスのグラフと情報をリアルタイムで提供します。パフォーマンスHUDに表示される情報は、自由にカスタマイズできます。
アプリ開発者は、カスタム指標を定義してアプリから直接記録し、開発時のデバッグや最適化のための対象を絞ったインサイトを獲得することができます。これらの指標はHUDオーバーレイでリアルタイムでモニタリングしたり、CSVファイルに記録して後で分析したりできます。標準のシステム指標とともにアプリ固有のパフォーマンス指標をトラッキングすることで、開発者はアプリの動作についてより深く把握し、問題の特定と解決をより迅速に行えるようになります。
OVR Metricsツールには、多くの付加的なGPU統計データがあります。それらを利用するには、接続されているシェルからプロファイリングツールovrgpuprofilerを有効にする必要があります。このツールの有効化に関する情報については、ovrgpuprofilerをご覧ください。
OVRメトリックツールでトラッキングできるすべての統計情報について詳しくは、OVRメトリックツールおよびVrApi統計ガイドをご覧ください。

OVRメトリックツールによるパフォーマンスデータの収集

以下のセクションでは、OVR Metricsツールをインストールする方法と、ツールを使用してレポートモードおよびパフォーマンスHUDモードでアプリのパフォーマンス情報をキャプチャする方法を説明します。

インストール

Meta Horizonストアから最新バージョンをインストールしてください。または、ovr metrics tool (OVR Metricsツール)を検索し、ヘッドセットでApp Storeからアプリをダウンロードしてください。

OVR Metricsツールの使用方法

OVR Metricsツールアプリは、ヘッドセットのアプリの[Library (ライブラリ)]から起動できます。または、ADBを通じてヘッドセットをコンピューターに接続し、次のコマンドを発行する方法でも起動できます。
adb shell am start omms://app
ヘッドセットでOVR Metrics Toolが起動すると、次のようなメイン画面が表示されます。
OVR Metrics Tool main screen
メイン画面では、ツールの機能を有効にして構成することができます。

レポートモード

レポートモードでは、VRセッションのパフォーマンスデータが記録されます。レポートのデータは、ヘッドセットから取得するか、またはヘッドセット装着中に表示することができます。
レポートモードを有効にするには、[Record all captured metrics to csv files (キャプチャしたすべての指標をcsvファイルに記録する)]というトグルを有効にします。または、次のADBコマンドを発行してレポートモードを有効にすることもできます。
adb shell setprop debug.oculus.omms.enableOverlay true
レポートモードを有効にしたら、[Stats (統計)]タブで、またはプリセット済みのオプションボタンの1つを使用して、収集するメトリックを手動で選択します。
  • [Basic (基本)]には、以下の指標があります。
    • バッテリー残量
    • CPUレベル
    • GPUレベル
    • Average FPS (平均FPS)
    • Stale frame count (期限切れフレーム数)
    • CPU Utilization (CPU使用率)
    • GPU Utilization (GPU使用率)
    • App GPU Time (アプリGPUタイム)
  • [Advanced (拡張)]には、[Basic (基本)]のすべての指標に加えて、以下の指標があります。
    • Foveation level (中心窩形成レベル)
    • Early frame count (早期フレーム数)
    • Eye buffer width (アイバッファの幅)
    • Eye buffer height (アイバッファの高さ)
    • Timewarp GPU Time (タイムワープGPU時間)
    • VrShell+Boundary GPU Time (VrShell+境界GPU時間)
    • Spacewarp FPS (スペースワープFPS)
    • Max Consecutive Stale Frames (最大連続期限切れフレーム数)
OVR Metricsツールは、HUDディスプレイの幅広いパフォーマンス指標にアクセスする手段を提供します。ユーザーは、[Stats (統計)]タブを使用してHUDオーバーレイに表示する指標を手動で選択し、テキストをリアルタイムで出力できます。また、[Graphs (グラフ)]タブを使用してそれらの指標の短期的な履歴のトレンドを視覚化することもできます。これにより、アプリや分析のニーズに最も適合する特定のパフォーマンスデータが表示されるようHUDをカスタマイズできます。一部の高度なGPU統計を選択するには、接続されているシェルからプロファイリングツールovrgpuprofilerを有効にする必要があります。詳しくは、ovrgpuprofilerを使用したGPUプロファイリングをご覧ください。
統計には以下のものが含まれます。
  • 境界GPU時間
  • CPU使用率コア0-7
  • アプリVSS、RSS、Dalvik PSS
ovrgpuprofiler指標
  • フレームあたりの平均頂点数
  • 片目ごとのフィル割合の平均
  • フラグメントあたりの平均インストラクション数
  • 頂点あたりの平均インストラクション数
  • フラグメントあたりの平均テクスチャー数
  • フラグメントにシェードを付ける時間の割合
  • 頂点シェーディング時間の割合
  • 頂点フェッチ停滞割合
  • テクスチャーフェッチ停滞割合
  • L1テクスチャー欠落割合
  • L2テクスチャー欠落割合
  • 隣接フィルタリングを使用するテクスチャーサンプル割合
  • 線形フィルタリングを使用するテクスチャーサンプル割合
  • Texture Sample Percentage Using Anisotropic Filtering (異方性フィルタリングを使用するテクスチャーサンプル率)
これらのデータポイントの詳細については、ovrgpuprofilerによって有効にされる統計データをご覧ください。
メトリックを選択したら、アプリを実行してセッションを開始し、データを取得します。データはアプリの実行ごとにログに記録されることにご注意ください。セッション終了後にOVR Metricsツールを開き、右上隅のドロップダウンメニューをクリックして、[View Recorded Sessions(記録したセッションを表示する)]を選択します。セッションに対応するエントリを選択すると、パフォーマンスを示す一連のグラフが表示されます。記録されたセッションは、デバイスがコンピューターに接続されているときに、/OVRMonitorMetricsService/CapturedMetrics/からCSVファイルとして取得できます。Meta Quest開発者ハブを使って、ファイルマネージャから指標を取得できます。

パフォーマンスHUDモード

パフォーマンスHUDモードは、選択された指標を示すグラフを、実行中のアプリ上にリアルタイムで表示します。パフォーマンスHUDモードを有効にするには、メイン画面で[Enable Persistent Overlay (may require reboot)(永続的なオーバーレイを有効にする(再起動が必要な場合があります))]というトグルを有効にします。または、次のADBコマンドを発行してHUDを有効にすることもできます。
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_OVERLAY
HUDを有効にした後、それを表示するためにヘッドセットの再起動が必要になる場合があります。HUDは次のように表示されます(選択した指標に応じて異なります)。
Performance HUD over app
デフォルトでは、HUDにはFPSグラフ以外の指標は表示されません。ほかの指標を表示するには、[統計]タブで、またはレポートモードセクションで説明した[基本]および[拡張]ボタンを使って、表示する指標を手動で選択する必要があります。オーバーレイにどのグラフを表示するかを設定するには、[Graphs(グラフ)]タブを使います。
ボタンの下には、オーバーレイのその他のオプションがあります。グラフの統計と指標は切り替え可能です(デフォルトで有効になっています)。[Render Overlay on GPU (GPUでオーバーレイをレンダリングする)]オプションでは、オーバーレイのハードウェアレンダリングを切り替えられます(デフォルトで有効になっています)。
[Lock Overlay to Head (オーバーレイを頭部にロックする)]オプションは、デフォルトで有効になっています。このオプションを無効にすると、HUDはビューからロック解除されて空きスペースに配置されますが、予測できない結果になる可能性があるため、おすすめしません。このトグルの下には、HUDのスケールと位置に関するオプションがあります。
メイン画面の下部には、[Screenshot on Dropped Frames(ドロップフレームのスクリーンショットを撮る)]オプションがあります。このオプションを有効にすると、ドロップされたフレーム数が指定時間内の制限数を超えた場合、スクリーンショットが撮られます。
HUDのオプションの多くは、コマンドラインから以下のようなコマンドでコントロールできます。

オーバーレイを有効にする

adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_OVERLAY
このコマンドには、以下の任意パラメーターを指定できます。
--eb headlocked (true|false) // whether the overlay should be locked to view
--ef pitch (-90.0 to 90.0) // the pitch of the overlay (negative is down)
--ef yaw (-180.0 to 180.0) // the yaw of the overlay (negative is left)
--ei scale (1, 2, or 3) // the scale of the overlay
--ef distance (0.1+) // the distance the overlay appears (headlocked only)

オーバーレイを無効にする

adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_OVERLAY

グラフまたは統計を一括で有効/無効にする

adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_GRAPH // enable all graphs
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_STATS // enable all stats
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_GRAPH // disable all graphs
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_STATS // disable all stats

グラフまたは統計を個別に有効/無効にする

adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_GRAPH --es stat <stat> // add graph for <stat> to overlay
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_STAT --es stat <stat> // add <stat> to overlay
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_GRAPH --es stat <stat> // disable graph for <stat>
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_STATS --es stat <stat> // remove <stat> from overlay
<stat>の有効な値は、以下のとおりです。それらが表す統計情報については、OVRメトリックツールおよびVrApi統計ガイドをご覧ください。
"available_memory_MB",
"app_pss_MB",
"battery_level_percentage",
"battery_temperature_celcius",
"battery_current_now_milliamps",
"sensor_temperature_celcius",
"power_current",
"power_level_state",
"power_voltage",
"power_wattage",
"cpu_level",
"gpu_level",
"cpu_frequency_MHz",
"gpu_frequency_MHz",
"mem_frequency_MHz",
"minimum_vsyncs",
"extra_latency_mode",
"average_frame_rate",
"display_refresh_rate",
"average_prediction_milliseconds",
"screen_tear_count",
"early_frame_count",
"stale_frame_count",
"maximum_rotational_speed_degrees_per_second",
"foveation_level",
"eye_buffer_width",
"eye_buffer_height",
"app_gpu_time_microseconds",
"timewarp_gpu_time_microseconds",
"guardian_gpu_time_microseconds",
"cpu_utilization_percentage",
"cpu_utilization_percentage_core0",
"cpu_utilization_percentage_core1",
"cpu_utilization_percentage_core2",
"cpu_utilization_percentage_core3",
"cpu_utilization_percentage_core4",
"cpu_utilization_percentage_core5",
"cpu_utilization_percentage_core6",
"cpu_utilization_percentage_core7",
"gpu_utilization_percentage",
"spacewarp_motion_vector_type",
"spacewarped_frames_per_second",
"app_vss_MB",
"app_rss_MB",
"app_dalvik_pss_MB",
"app_private_dirty_MB",
"app_private_clean_MB",
"app_uss_MB",
"stale_frames_consecutive",
"avg_vertices_per_frame",
"avg_fill_percentage",
"avg_inst_per_frag",
"avg_inst_per_vert",
"avg_textures_per_frag",
"percent_time_shading_frags",
"percent_time_shading_verts",
"percent_time_compute",
"percent_vertex_fetch_stall",
"percent_texture_fetch_stall",
"percent_texture_l1_miss",
"percent_texture_l2_miss",
"percent_texture_nearest_filtered",
"percent_texture_linear_filtered",
"percent_texture_anisotropic_filtered",
"vrshell_average_frame_rate",
"vrshell_gpu_time_microseconds",
"vrshell_and_guardian_gpu_time_microseconds"

その他のadb設定オプション

adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_CSV // records all metrics to CSV files in /sdcard/OVRMontorMetricsService/CapturedMetrics/
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_CSV // disables writing metrics to disk
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.ENABLE_DROPPED_FRAME_SCREENSHOT --ei count <count> --ei time <time> // enables functionality that will take a screenshot if <count> frames are missed within a window of <time>
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.DISABLE_DROPPED_FRAME_SCREENSHOT // disables automatic screenshot functionality
adb shell am broadcast -n com.oculus.ovrmonitormetricsservice/.SettingsBroadcastReceiver -a com.oculus.ovrmonitormetricsservice.LOG_STATE // prints a json blob to logcat with the current configuration state of OVR Metrics Tool, useful for automated tooling

参考情報

ナビゲーションロゴ
日本語
© 2026 Meta