
統計 | 説明 |
Boundary GPU Time (境界線GPU時間) | 境界線GPU時間を示します。これは、境界線のレンダリングに費やされるGPU時間です。 |
CPU Utilization Core 0-7 (CPU使用率コア0-7) | 個々のCPUコア使用率を表示します。アプリはコア5、6、7に制限されています。 |
Application VSS, RSS, and Dalvik PSS (アプリVSS、RSS、Dalvik PSS) | メモリの使用状況に関する付加的なインサイトを得るためのメモリ統計。 |
統計 | 説明 |
Average Vertices Per Frame (フレームあたりの平均頂点数) | フレームあたりのシェーディングされる頂点の概数を示します。この数は境界線とシステムオーバーレイの影響を受けます。 |
Average Fill Percentage per Eye (片目ごとのフィル割合の平均) | オーバードローの平均量の推定値。フレームあたりのシェーディングされるフラグメントの数をアイバッファ解像度で除算した値に基づきます。100の場合は、アイバッファ内の各ピクセルへのタッチが1回のみであることを示します。この数は境界線とシステムオーバーレイの影響を受けます。 |
Average Instructions per Fragment (フラグメント当たりの平均インストラクション数) | シェーディングされるフラグメントごとのインストラクション数の平均を示します。 |
Average Instructions per Vertex (頂点あたりの平均インストラクション数) | シェーディングされる頂点ごとのインストラクション数の平均を示します。 |
Average Textures per Fragment (フラグメントあたりの平均テクスチャー数) | フラグメントごとのテクスチャー数の平均を示します。 |
Percentage Time Shading Fragments (フラグメントシェーディング時間の割合) | フラグメントにシェードを付けるために費やされたGPU時間の割合を示します。 |
Percentage Time Shading Vertices (頂点シェーディング時間の割合) | 頂点にシェードを付けるために費やされたGPU時間の割合を示します。 |
Vertex Fetch Stall Percentage (頂点フェッチ停滞率) | GPUが頂点データをそれ以上リクエストできないクロックサイクルの割合。 |
Texture Fetch Stall Percentage (テクスチャーフェッチ停滞率) | シェーダープロセッサーがテクスチャーデータをそれ以上リクエストできないクロックサイクルの割合。 |
L1 Texture Miss Percentage (L1テクスチャーミス率) | L1キャッシュに対するテクスチャーリクエストのうち、キャッシュを取得し損なったものの割合。 |
L2 Texture Miss Percentage (L2テクスチャーミス率) | L2キャッシュに対するテクスチャーリクエストのうち、キャッシュを取得し損なったものの割合。 |
Texture Sample Percentage Using Nearest Filtering (最近似値フィルタリングを使用するテクスチャーサンプル率) | 最近似値サンプリング方式を使用するテクスチャーフェッチの割合。 |
Texture Sample Percentage Using Linear Filtering (線形フィルタリングを使用するテクスチャーサンプル率) | 線形サンプリング方式を使用するテクスチャーフェッチの割合。 |
Texture Sample Percentage Using Anisotropic Filtering (異方性フィルタリングを使用するテクスチャーサンプル率) | 異方性サンプリング方式を使用するテクスチャーフェッチの割合。 |
統計 | 説明 |
期限切れフレーム数( STALE) | 期限切れフレームの数を示します。これは、フレームが時間どおりに配信されなかったため、代わりに前のフレームが使われた回数を示しています。 CPUとGPUは並行して動作するので、フレームのレンダリングにかかる時間は1フレームの合計時間よりも長くかかる場合がありますが、CPUとGPUのどちらも、単独で1つのフレームより長くかかることはありません。そのため、72 FPSで実行されるアプリでは、1秒あたり72個の期限切れフレームが表示される可能性があります。このような状況では、レンダリングと表示時間のレイテンシは高くなりますが、フレームのリリーステンポは一定です。 期限切れフレームが問題になるのは、値が0より大きくリフレッシュレートより小さい場合です。その場合、いずれかのフレームが連続して2回表示されたり、スキップされたりするようになり、ユーザーの操作性が低下します。そのような状況では、追加のレイテンシモードを使用することができます。この機能(UnityとUnreal Engineではデフォルトでオンになっている)は、非同期タイムワープに対して常に余分のフレームを待機するように指示し、2番目のフレーム以降の準備ができていれば、フレームの期限切れと見なさないように指示します。アプリのレンダリングが迅速に実行される場合には早期フレームと見なされますが、すべてスムーズに表示されます。 期限切れフレームの仕組みについて詳しくは、Meta Quest、Oculus Go、Gear VRでゲームプレイのレイテンシを理解するのブログ投稿をご覧ください。 |
アプリGPU時間( APP T) | アプリのGPU時間(μ、1/1000ミリ秒単位)を表示します。これは、アプリが1つのフレームのレンダリングに費やす時間です。 アプリの最適化にあたっては、この値をモニタリングすることが特に重要です。表示時間が1つのフレームの時間(毎秒72フレームの場合は13.88ミリ秒)より長いアプリは、GPUバウンドです。表示時間が1つのフレームの時間より短いアプリは、おそらくCPUバウンドです。 この指標は、アプリがGPUバウンドかCPUバウンドかを判断する上で役立つだけでなく、シェーダーの変更時、テクスチャーの追加時、メッシュの変更時、その他の変更時にアプリをモニタリングする場合にも使うことができます。この数値から、GPUに残っているヘッドルームの量を把握できます。また、特定のオブジェクトのオンとオフの切り替えにデバッグロジックを使う場合、それらのオブジェクトがパフォーマンスに与える影響がわかります。 |
GPU使用率( GPU U) | GPU使用率を示します。この値が最大の100%になっているアプリは、GPUバウンドです。この値が90%を超えると、スケジューリングによるパフォーマンスの問題が発生する場合があります。 |
CPU使用率( CPU U) | CPU使用率を示します。ただし、この指標はパフォーマンスが最低のコアを表します。ほとんどのアプリはマルチスレッド化されており、スレッドは利用可能になった時点でスケジューラーによって割り当てられるため、この指標はアプリのメインスレッドを表すものではない可能性があります。 |
CPUレベル( CPU L)GPUレベル( GPU L) | これらの指標は、アプリによって設定されるCPUとGPUのクロックレベルを指定します。このレベルは手動で設定できますが、アプリにおいてフレームレートの要求レベルが達成されていない場合、クロックレベルを増加させるダイナミッククロックスロットリングの使用が推奨されます。 アプリが要求フレームレートに達していない場合、クロックレベルを見直すことで、パフォーマンスがCPUバウンドかGPUバウンドかを素早く判断でき、最適化のターゲットを絞り込むことができます。例えば、パフォーマンスに問題があるアプリのCPUレベルが4でGPUレベルが2の場合、使用可能なGPUのオーバーヘッドがまだあるので、アプリはCPUバウンドであると判断できます。ただし、どちらのレベルも4でアプリに問題がある場合、この数値はそれほど役に立たないため、期限切れフレーム、アプリのGPU時間、CPU/GPUの使用率などその他の指標を使って、最適化できそうな領域を見つける必要があります。 CPUとGPUのクロックレベルについて詳しくは、電源管理をご覧ください。 |
平均FPS ( FPS) | フレーム毎秒によるフレームレートを表示します。パフォーマンスの優れたアプリにするには、ディスプレイのリフレッシュレートをターゲットとして設定します。詳しくは、リフレッシュレートをご覧ください。 |
使用可能なメモリ( A MEM) | Androidによって報告される使用可能なメモリ(MB単位)を示します。Androidでは、メモリの処理方法がやや不透明であるため、この値はおおまかなガイダンスとして使用してください。例えば、アプリがバックグラウンドに下がった場合、新しく前面に出たアプリやOS操作でメモリが多く引っ張られ、「Free」の報告ではメモリが利用可能となっていても、アプリがクラッシュする可能性があります。 この値は、想定よりも早くメモリが割り当てられているか、また、想定されたタイミングでメモリが解放されていないかをモニタリングする際に特に有用です。 |
統計情報 | 説明 |
中心窩形成レベル( FOV) | 固定中心窩レンダリング(FFR)の明度のレベルを示します。この機能を使用すると、視界の周辺部分のテクスチャーを中心部分より低い解像度でレンダリングできます。これにより、視聴者の周辺視野に含まれるシーンの忠実度が下がり、GPUの負荷が軽減されます。この数値はGPUのパフォーマンスに直接影響し、レベルが高いと視覚上のアーティファクトが画面の端で目立ってしまいます。必要なパフォーマンスの改善を得るため、ビジュアル的に最も受け入れられるレベルを選択してください。 詳細および推奨事項については、固定中心窩レンダリング(FFR)をご覧ください。 |
アイバッファの幅( EBW) アイバッファの高さ( EBH) | これは、アプリのレンダリング先となるテクスチャーの解像度です。Meta Questのデフォルトは1216×1344です。これは、動作が想定どおりであることや、視野角のアスペクト比が適切であることを検証するのに役立ちます。解像度は、GPUレンダリング時間に直接的な影響を与えます。ピクセル数が多くなるほど、フラグメントシェーダーにかかる時間が長くなります。 |
早期フレーム数( EARLY) | 早期フレームの数を示します。これは、必要とされる前に配信されたフレームの数を示します。早期フレームは、余分なレイテンシモードが使用されている場合に発生することがあります。 わずかな早期フレームは無視できますが、この数値が常に高い場合は、CPUレベルとGPUレベルが必要以上に高く設定されていないかを確認してください。初期フレームの数がFPSと一致する場合は、追加レイテンシモードをオフにするか、解像度またはシェーダーの複雑性を引き上げることでヘッドルームを活用することをおすすめします。 |
Max Consecutive Stale Frames (最大連続期限切れフレーム数) | これは連続して発生する期限切れフレームの最大数を指します。期限切れフレームは、システム側は新しいフレームを表示する準備ができているにもかかわらず、それをまだ受け取っていないときに起こり、その結果として古いフレームが表示されている状態を指します。連続した期限切れフレームは、著しい途切れやハングの原因となり、ユーザーエクスペリエンスに大きな影響を及ぼします。OVR Metricsツールは、ユーザーに映像酔いや不快感を引き起こす可能性のあるパフォーマンスの問題を特定し、対処するのに役立ちます。 |
Spacewarp FPS (スペースワープFPS) | Application SpaceWarp (AppSW)が有効になっている場合、毎秒のフレーム(FPS)指標を指します。Application SpaceWarpは、アプリが表示の半分のリフレッシュレートでレンダリングできるようにする技術です。ユーザーにフルフレームレートな体験を提供します。これは、モーションベクトルと深度バッファを使用して新しいフレームを合成することで実現され、目立った影響を最小限に抑えながらコンピューティング能力を高めることでパフォーマンスを大幅に向上させることができます。スペースワープがアクティブな場合、CPUやGPUを含むいくつかの指標のターゲットFPSがパフォーマンス向上に対応するように調整されます。 |
タイムワープGPU時間( TW T) | 非同期タイムワープのGPU時間(μ、1/1000ミリ秒単位)を表示します。これは、非同期タイムワープがレンダリングするのにかかる時間です。この時間と、使うレイヤー数およびその複雑さとの間には、直接的な相関関係があります。正距円筒レイヤーやシリンダーレイヤーの方がクワッドレイヤーや投影レイヤーよりもGPUコストがかかります。 非同期タイムワープに時間がかかり過ぎると、再生時に画面ティアリングが発生する可能性があるため、この値は動画アプリにおいて有用です。 |
VrShell+Boundary GPU Time (VrShell+境界線GPU時間) | VrShell環境内のレンダリング操作に関連するGPU時間を指します。特に、システムが特定のアプリを実行していない場合に発生します。この指標は、GPU時間を安定させ、パフォーマンスの問題を意味するような大きな変動を示さないようにするためのパフォーマンス分析の一部です。境界線GPU時間は頻繁に変化することはなく、安定した状態を保つことが期待される指標のひとつで、特定の条件下ではゼロにとどまる可能性もあります。 |
統計情報 | 説明 |
画面ティアリング数( TEARS) | 画面ティアリングの数を示します。これは、非同期タイムワープに時間がかかりすぎたために、画面ティアリングが発生したことを報告するものです。 画面ティアリングは、Meta Questアプリで使用されているレイヤーが多すぎるときに発生します。これは、UIエレメントを表示するためにクワッドレイヤーまたはシリンダーレイヤーを使用している場合や、重なり合った複数の正距円筒動画レイヤーを表示している場合に発生することがあります。 |
スワップ間隔( SWAP) | スワップ間隔を示します。これは、次のフレームをレンダリングする前にスキップするフレーム数をアプリに伝えるものです。これは、ほぼ常に1に設定してください。この値を2に設定すると、アプリのレンダリングのフレームレートが半分になり、6DOFの動きがぎこちなくなる可能性があります。 これをデバッグのために2に設定する場合もありますが、ユーザーが頭を回転させると気づかれてしまうので、公開されているアプリではこの設定を使用しないでください。 |
ディスプレイリフレッシュレート( DRR) | ディスプレイのリフレッシュレートの現在の設定値を示します。この値は60または72になります。詳しくは、リフレッシュレートをご覧ください。 |
バッテリーレベル( BAT) | バッテリー残量の割合を示します。 |
統計情報 | 説明 |
センサー温度( TEMP) | センサー温度(摂氏)を示します。これは、スマートフォンベースのVR開発では特に重要でした。現在のヘッドセットにおける温度の問題については、温度がヘッドセットのパフォーマンスに影響していることを知らせるインジケーターとして、電力レベルを使用できます。 |
電力レベル( POW L) | ヘッドセットの現在の電力レベルを示します。報告されるレベルは、0 (NORMAL: 通常)、1 (SAVE: 省電力)、2 (DANGER: 危険)のいずれかです。ヘッドセットが熱くなるにつれ、電力レベルは自動的にNORMALからSAVEへと変わり、最終的にはDANGERへと変わります。DANGERに達すると、オーバーヒートダイアログが表示されます。 アプリは電力レベルをモニタリングし、省電力モードになったら、レンダリングコストを削減するために動作を変更する必要があります。詳しくは、電力管理をご覧ください。 |
CPU周波数( CPU F) GPU周波数( GPU F) メモリ周波数( MEM F) | これらの指標は、CPU、GPU、メモリのクロック速度を示します。CPUレベルとGPUレベルが変化すると、CPUとGPUの速度が変化します。それらのレベルは直接調整および変更できるため、モニタリングする上で役立ちます。これらのレベルに関連付けられているクロック速度はそれぞれのSoCによって異なり、周波数は変更できません。 |
バッテリー温度( B TEM) | バッテリーの温度(摂氏)を示します。これは、スマートフォンベースのVR開発では特に重要でした。現在のヘッドセットにおける温度の問題については、温度がヘッドセットのパフォーマンスに影響していることを知らせるインジケーターとして、電力レベルを使用できます。 |
現在のバッテリー電流( BAT C) | バッテリーからの電流の現在値(ミリアンペア)を示します。開発者は、この指標を使用してバッテリーの消耗状況を判断しようとするのではなく、CPUレベルとGPUレベルに照らして最適化を行う必要があります。 |
電源電圧( POW V) | 電源電圧(ミリアンペア)を示します。 |
電源電流( POW C) | ヘッドセットの電源電流(ミリアンペア)を示します。開発者は、この指標を使用して電源の消耗状況を判断するよりも、CPUレベルとGPUレベルに照らして最適化を実施してください。 |
左コントローラーの温度( LC TM) 右コントローラーの温度( RC TM) | これらの指標は、左右のコントローラーの温度を表示します。 |
最大回転速度( M ROT) | ヘッドセットが回転した最大速度を示します。 |