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

ドローコールの指標

RenderDoc Meta Forkを使用してフレームキャプチャでドローコールトレースを実行することにより、ドローコールの指標を取得できます。次の表に、現在使用できる指標を示します。
「率」の値はすべて、ドローコールのクロックサイクルの値であることに注意してください。
指標
説明
Clocks
ドローコールの実行中に経過したGPUクロック数。ドローコールが一部のタイルに関係しない場合、そのタイルのレンダリングから追加されるGPUクロックはありません。ただし、そのタイルではセットアップオーバーヘッドのわずかな固定コストが発生します。
% Vertex Fetch Stall
GPUがこれ以上頂点データをリクエストできなくなるクロックサイクルの割合。この指標の値が高い場合は、GPUがメモリから頂点データを十分な速さで取得できず、レンダリングパフォーマンスが悪影響を受ける可能性があることを意味します。
% Texture Fetch Stall
シェーダー処理がこれ以上テクスチャーデータをリクエストできなくなるクロックサイクルの割合。この指標の値が高い場合は、シェーダーがテクスチャーパイプ(L1、L2キャッシュまたはメモリ)からテクスチャーデータを十分な速さで取得できず、レンダリングパフォーマンスが悪影響を受ける可能性があることを意味します。
L1 Texture Cache Miss Per Pixel
ピクセルあたりのテクスチャーL1キャッシュミスの平均数。この指標の値が低いほど、メモリの一貫性が向上します。この値が高い場合は、圧縮テクスチャーを使用するか、テクスチャーの使用量を減らすことを検討してください。
% Texture L1 Miss
L1テクスチャーキャッシュミス数をL1テクスチャーキャッシュリクエスト数で除算した値。この指標は、毎期間で行われたテクスチャーリクエストの数を考慮しない、リクエストに対するミスの単純な比率です。
% Texture L2 Miss
L2テクスチャーキャッシュミス数をL2テクスチャーキャッシュリクエスト数で除算した値。この指標は、毎期間で行われたテクスチャーリクエストの数を考慮しない、リクエストに対するミスの単純な比率です。
% Stalled on System Memory
システムメモリからのデータを待機している間、L2キャッシュが停滞するドローコールサイクルの割合。
% Instruction Cache Miss
L1命令キャッシュミス数をL1命令キャッシュリクエスト数で除算した値。
Pre-clipped Polygon
ハードウェアクリッピングの前にGPUに送信されたポリゴンの数。
% Prims Trivially Rejected
自明に却下されたプリミティブの割合。プリミティブは、レンダリングサーフェスの可視領域の外側にある場合、自明に却下されることがあります。これらのプリミティブはラスタライザーにより無視されます。
% Prims Clipped
新しいプリミティブが生成される、GPUによってクリップされたプリミティブの割合。プリミティブがクリップされるためにはビューポートの内側に可視領域を持つ必要がありますが、ビューポートを囲む領域である「ガードバンド」を外側を拡張して、ハードウェアがクリップする必要があるプリミティブの数を大幅に減らしてください。
Average Vertices / Polygon
ポリゴンごとの頂点の平均数。三角形の場合はおおよそ3、三角形の帯の場合は1に近い値になります。
1秒あたりの再利用された頂点数
変換後の頂点バッファキャッシュから使用された頂点の数。頂点は複数のプリミティブで使用できます。この指標の値が(シェーディングされた頂点の数に比べて)高い場合は、変換された頂点が適切に再利用され、頂点シェーダーのワークロードが削減されていることを示します。
Average Polygon Area
ポリゴンごとのピクセルの平均数。Adrenoのビニングアーキテクチャでは、カバーするビンごとにプリミティブがカウントされるため、この指標は予想と正確に一致しない場合があります。
% Shaders Busy
すべてのシェーダーコアがビジーな時間の割合。
一般的に、シェーダーは描画を処理しているときは常にビジーと見なされるため、シェーダーコアが実際に進行しているサイクルと同様に、停滞サイクルもビジーなサイクルとしてカウントされます。
シェーダーコアは、メモリの読み込みおよび格納操作中にはビジーにならないことがよくあります。ビンの開始時には、GPUがドローコール設定(状態の処理、頂点インデックスのフェッチ、頂点のフェッチ)の取得でビジーになるものの、シェーダーが処理する頂点またはフラグメントがまだないときもあります。
Vertices Shaded
シェーダーエンジンに送信された頂点の数。
Fragments Shaded
シェーダーエンジンに送信されたフラグメントの数。
Vertex Instructions
発行されたスカラー頂点シェーダー命令の合計数。完全精度の算術論理ユニット(ALU)頂点命令とEFU頂点命令が含まれます。中精度の命令は、頂点シェーダーで使われないため、含まれません。頂点取得命令またはテクスチャー取得命令は含まれません。
GPUのALU/EFUハードウェアカウンターは、スカラー命令をカウントします。ベクトル演算は、複数のスカラー演算としてカウントされます。
Fragment Instructions
発行されたフラグメントシェーダー命令の合計数。全精度スカラー算術論理ユニット(ALU)命令として報告されます。2つの中精度命令は1つの全精度命令と等価です。補間命令(ALUハードウェアで実行される)およびEFU(初等関数ユニット)命令も含まれます。テクスチャー取得命令は含まれません。
GPUのALU/EFUハードウェアカウンターは、スカラー命令をカウントします。ベクトル演算は、複数のスカラー演算としてカウントされます。
Fragment ALU Instructions(Full)
発行された全精度フラグメントシェーダー命令の合計数。中精度命令またはテクスチャーフェッチ命令は含まれません。
Fragment ALU Instructions(Half)
発行された半精度スカラーフラグメントシェーダー命令の合計数。完全精度命令またはテクスチャー取得命令は含まれません。
Meta Questは、高精度(32ビット)と中精度(16ビット)の演算をサポートしています。シェーダーで「lowp」を指定すると、16ビット演算にマッピングされ、半精度カウンターでカウントされます。
Fragment EFU Instructions
発行されたスカラーフラグメントシェーダー初等関数ユニット(EFU)命令の合計数。これには、sin、cos、powなどの数学関数が含まれます。
Textures / Vertex
頂点ごとに参照されるテクスチャーの平均数。
Textures / Fragment
フラグメントごとに参照されるテクスチャーの平均数。
ALU / Vertex
シェーディングされた頂点ごとに発行された頂点スカラーシェーダー算術論理ユニット(ALU)命令の平均数。フラグメントシェーダー命令は含まれません。
ALU / Fragment
シェーディングされたフラグメントごとに発行されたスカラーフラグメントシェーダー算術論理ユニット(ALU)命令の平均数。全精度ALU数として表現されます(2 mediump = 1 highp)。補間命令が含まれます。頂点シェーダー命令は含まれません。
フラグメントごとのEFU数
シェーディングされたフラグメントごとに発行されたスカラーフラグメントシェーダーEFU命令の平均数。頂点EFU命令は含まれません。
頂点ごとのEFU数
シェーディングされた頂点ごとに発行されたスカラー頂点シェーダーEFU命令の平均数。フラグメントEFU命令は含まれません。
% Time Shading Fragments
すべてをシェーディングするのにかかった合計時間に対する、フラグメントのシェーディングにかかった時間の割合。
% Time Shading Vertices
すべてをシェーディングするのにかかった合計時間に対する、頂点のシェーディングにかかった時間の割合。
% Time Compute
すべてをシェーディングするのにかかった合計時間に対する、計算操作にかかった時間の割合。
% Shader ALU Capacity Utilized
最大シェーダー容量(ALU演算)の使用率。シェーダーが動作する各サイクルにおける、そのサイクルで使用されたシェーダーALU容量合計の平均パーセンテージです。
算術論理ユニット(ALU)は、一度に多くの頂点またはフラグメントを処理する大規模SIMD配列です。配列内のすべてのALU要素が1つのサイクルでアクティブな場合、そのALUは最大能力で動作しています。ただし、一部のALU要素がアクティブでないときがあります。例えば、非常に小さな三角形の場合、GPUが作業を割り当てる方法により、一部の(フラグメント)ALU要素は空のままになります。または、フラグメントの一部がzテストに合格し、近傍フラグメントの一部が合格しなかった場合、ALU配列に空のスロットがいくつか生じることもあります。この指標は、ワークロードがALUでどれくらい効率的に実行されているかを伝えるためのものです。ALU使用率が100%に近い場合、ALUは可能な限り効率的に動作しており、SIMDのすべてのエントリが各サイクルで有用な処理を行っていることを意味します。この指標の値が低い場合は、ALU SIMDに空のスロットが存在し、システムが本来の効率で動作していないことを意味します。ただし、ALUの使用率が低いのは必ずしも悪いことではありません。ALU作業がほかの作業(テクスチャー作業など)と比べて少ないという理由だけで、低くなることがあります。
% Time ALUs Working
シェーダーがビジー状態のときに算術論理ユニット(ALU)が動作している時間の割合。
% Time EFUs Working
シェーダーがビジー状態のときにEFUが動作している時間の割合。
% Nearest Filtered
「最近似値」サンプリング方法を使用してフィルタリングされたテクセルの割合。
% Linear Filtered
「線形」サンプリング方法を使用してフィルタリングされたテクセルの割合。
% Anisotropic Filtered
異方性サンプリング方法を使用してフィルタリングされたテクセルの割合。
% Non-Base Level Textures
非ベースMIPレベルに由来するテクセルの割合。
% Texture Pipes Busy
何らかのテクスチャーパイプがビジーの時間の割合。
Read Total (Bytes)
GPUがメモリから読み取ったバイトの合計数。これは、どのブロックがメモリをリクエストしたかに関係なく、GPUが読み取ったデータ量の合計を表します。
Write Total (Bytes)
GPUがメモリに書き込んだバイトの合計数。これは、どのGPUブロックが書き込みを行ったかに関係なく、サンプル期間中にGPUが書き込んだメモリのデータ量の合計を表します。
Texture Memory Read BW (Bytes)
メモリから読み取られたテクスチャーデータのバイト数。これは、任意のタイプの操作(頂点テクスチャー、フラグメントテクスチャー、テクスチャーを読み取る計算操作)についてテクスチャーパイプがリクエストしたデータ量を表します。
Vertex Memory Read (Bytes)
メモリから読み取られた頂点データのバイト数。これは、テクスチャーデータ(頂点の位置、属性)以外に、頂点処理パイプラインが読み取ったデータ量を表します。
SP Memory Read (Bytes)
シェーダープロセッサーがメモリから読み取ったデータのバイト数。これは、シェーダープロセッサーが明示的な読み込みタイプの操作でリクエストしたデータ量を表します。
Avg Bytes / Fragment
各フラグメントについてメインメモリから転送された平均バイト数。
より正確に言うと、フラグメントごとに読み取られたテクスチャーデータの平均量です。読み取られたテクスチャーメモリを、シェーディングされたフラグメント数で除算した値です。これはそれほど厳密な指標ではありませんが、多くのグラフィックユースケースで、各ピクセルに必要なテクスチャーデータの量(平均)を比較的正確に提供します。
Avg Bytes / Vertex
頂点ごとにメインメモリから転送された平均バイト数。この指標は、上記の頂点メモリ読み取り(バイト)指標を、シェーディングされた頂点数で除算した値です。
Preemption
発生したGPUプリエンプションの数。
Avg Preemption Delay
プリエンプションがリクエストされてから開始されるまでの平均時間(マイクロ秒単位)。
プリエンプションは複数回発生する可能性があるため、これは平均値です。実際には、同じドローコールが複数回プリエンプトされることはほとんどありません。同じ指標のセットがさまざまなレベルの粒度で使用されるため、それが比較的長い期間にわたって使用されると、複数のプリエンプションが発生する可能性が高くなります。

参考情報

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