Version: 2023.1
言語: 日本語
シェーダーのランタイムパフォーマンスの最適化
PIX を使った DirectX 12 シェーダーのデバッグ

Visual Studio を使ったシェーダーのデバッグ

DirectX 11 または 12 を使用する Windows プラットフォームでは、Visual Studio を使用して Unity アプリケーションのシェーダーをデバッグできます。このページでは、その方法について説明します。

ノート: DirectX 12 を使用している場合、Microsoft は Visual Studio の代わりに PIX を使用してシェーダーをデバッグすることを推奨しています。Windows with Unity での PIX の使用方法については、PIX を使ったシェーダーのデバッグ を参照してください。

シェーダーの準備

シェーダーをデバッグするには、デバッグシンボルを含めてコンパイルする必要があります。そのためには、 #pragma enable_d3d11_debug_symbols ディレクティブを、デバッグしたい各シェーダーのソースコードに挿入します。

注意: この pragma ディレクティブは、パフォーマンスに悪影響を与える可能性があります。最終的なビルドを行う前に、シェーダーコードから削除してください。この pragma ディレクティブの詳細については、シェーダーコンパイル: pragma ディレクティブ を参照してください。

Windows スタンドアロンのプレースホルダー Visual Studio プロジェクトの作成

Windows スタンドアロン用のアプリケーションをビルドする場合は、プレースホルダーの Visual Studio プロジェクトを作成する必要があります。ユニバーサル Windows プラットフォーム用のアプリケーションをビルドする場合は、Unity が Visual Studio プロジェクトを作成します。

  1. Visual Studio を起動します。
  2. File > New > Project > Visual C++ > Empty Project の順に移動します
  3. プロジェクト > プロパティ > 構成プロパティ > デバッグ の順に移動します
  4. Command フィールドで、$(TargetPath) を Windows スタンドアロンアプリケーションのパスに置き換えます (例えば、 C:\MyApp\MyApp.exe)
  5. DirectX 11 で プロジェクトを強制的に実行したい場合は、Command Adapters を選択し、-force-d3d11 と入力します。

Visual Studio を使ったシェーダーのデバッグ

Visual Studio の設定方法については、Microsoft のドキュメント Install Visual Studio を参照してください。

Visual Studio の設定方法と Visual Studio のグラフィックスデバッグツールについては、Microsoft のドキュメント Visual Studio Graphics Diagnostics を参照してください。

シェーダーのランタイムパフォーマンスの最適化
PIX を使った DirectX 12 シェーダーのデバッグ