注意書き

本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

RenderDoc GPUカウンター

プログラミング

RenderDoc で GPU カウンター(ハードウェアカウンタ-) の値を見ることができます。NVIDIA GPUを使用する場合では、準備が必要なので、その手順を説明します。

スポンサーリンク

準備

NVIDIA GPUを使う場合、GPUカウンタ-へのアクセスのためにライブラリの導入が必要です。これは、Nsight PerfSDK library というもので、NVIDIA の Web サイトからダウンロードする必要があります。

Nsight Perf SDK


このサイトからzip ファイルをダウンロードします。この zip ファイルに含まれる「nvperf_grfx_host.dll」ファイルを RenderDoc が認識する以下のフォルダにコピーします。

  • %USERPROFILE%\AppData\Roaming\renderdoc\plugins\nv

GPUカウンタ-の取得・確認

RenderDoc を起動して、アプリケーションのキャプチャを取得します。
その後、 Performance Counter Viewer を開きます。(表示されていない場合には、メニュー/Window/Performance Counter Viewer と辿って開いてください)。このウィンドウ内にある Capture Counters ボタンを押すと、以下のようなカウンタ-を選択するウィンドウが表示されます。

もしここでエラーが表示されているようであれば、DLLのコピーが正しく行われているか、パスの間違いがないかなどを確認してみてください。このあと、Sample counters ボタンを押すとカウンタ-の値をサンプリングして、結果を表示します。

GPUカウンタ-の値を得るには、RenderDoc を管理者として実行、が必要になります。
非管理者として実行の際にもカウンタ-を参照したい場合には、NVIDIA コントロールパネルから設定を変更してください。

Vulkan のカウンター

一般的な Vulkan Built-in カウンターも用意されています。以下のようなものが用意されていました。こちらについては、準備不要・管理者として実行も不要で値を得ることができるようです。

まとめ

NVIDIA GPUの場合、GPUカウンタ-値を得るための準備が必要なので、その手順を紹介しました。AMD GPUの場合には標準(準備不要)で使えるらしいです。こちらは未確認です。

参考

  • https://renderdoc.org/docs/window/performance_counter_viewer.html

余談、背景情報

RenderDoc の Event Browser で表示することが出来る Duration の値は、正確ではないようです。
手元では誤差とは思えない大きな値が表示されており、また、Duration表示のON/OFF を切り替えるたびに値の変動が大きいので、値の参考にできないと感じました。

そこで、今回のようにGPUのカウンターを得る方法にしました。ただし、Vulkan Built-in の GPU Duration カウンターの値は割と正しい値によっているようなので、こちらは信じてよいのかもしれません。しかし、これもまた Nsight Graphics で表示されるものと差分が大きいので、だんだんどれを信じてよいかわからなくなります。ベンダー提供ツールの値を一番信用したい、次点でGPUカウンターを信じたいところではあります

他のRenderDoc バージョンでは調べておらず、単純に不具合の可能性はあります。

ただし、AndroidなどのGPUではどのみち描画コマンド単位の計測には意味がないので、その点は気をつける必要があります。

📱 Android + RenderDoc でdraw callのパフォーマンスは計測できない - TB(D)RにおけるGPU時間の計測に関する注意 - Qiita
クリックベイトサムネイル:RenderDoc の Event Browser でコマンドのGPU時間として表示される Duration は, モバイル端末では意味をなさない.いくつかのかなり有名…

情報

今回は、以下の環境を対象として記載しています。他の環境ではまた異なる状況となる可能性があります。

  • Windows11
  • NVIDIA Geforce RTX 3060
    • ドライババージョン 537.58
  • RenderDoc v1.30
    • Nsight PerfSDK 2023.5

コメント

タイトルとURLをコピーしました