始めに
UEでShaderのコードの単位で負荷を計測したいことがあると思います。そこでNVIDIA Nsight Graphicsを使用すると負荷を計測することが出来るのでその方法を紹介したいと思います。
NVIDIA Nsight Graphicsとは
NVIDIAが提供しているグラフィック関連のデバッグ、プロファイリングするアプリケーションになります。NVIDIAのGPUでしか使用できないものの詳しい情報を取得することが出来ます。
基本的な使い方はこちらが参考になると思います。
https://www.slideshare.net/slideshow/nsight/239757624
環境
UE 5.6
NVIDIA Nsight Graphics 2025.3
Windowsの設定
開発者モードにする必要があります。
Windowsの設定→システム→詳細設定から設定出来ます。
参考
UE側の設定
Engine/Config/ConsoleVariables.iniで下記設定を有効にします。
r.Shaders.Optimize=0(デバッグ時のみ、プロファイリング時は無効)
r.Shaders.Symbols=1
r.Shaders.SkipCompression=1
r.ShaderDevelopmentMode=1
参考
NVIDIA Control Panelの設定
GPUパフォーマンスカウンターへのアクセスを許可する必要があります。
1.NVIDIA Control Panelの管理者として実行します。
2.デスクトップ→開発者設定を有効にします。
3.GPUパフォーマンスカウンターへのアクセスをすべてのユーザーに許可するを選択します。
参考
NVIDIA Nsight Graphicsの設定
Tools→Option→SeachPathの設定をします。
各項目にはプロジェクト内にあるShaderDebugInfoのパスを設定してください。
プロファイル方法
試しに配置したキューブのプロファイルをしてみたいと思います。
キューブのマテリアル
手順
1.NVIDIA Nsight GraphicsのFrameDebuggerを起動してキャプチャします。
2.プロファイルしたいイベントを選択→PixelShader→ProfileShadersを選択します。
3.PixelShaderのFileNameを選択します。
ピクセルシェーダのコード表示されて各情報が表示されるようになりました。
マテリアル内のコードはCalcPixelMaterialInputs内にあり、上記選択部分は作成したマテリアル内にあるテクスチャのRGB同士で乗算してるところになります。
各情報の詳しい見方をこちらを参照してください。
終わりに
RenderDocと比べてShader内の各処理をプロファイルすることが出来るので詳しい調査をする際はNVIDIA Nsight Graphicsを使用すると良いと感じました。








