Version: 2021.2
优化着色器运行时性能
使用 PIX 来调试 DirectX 12 着色器

使用 Visual Studio 调试着色器

在使用 DirectX 11 或 12 的 Windows 平台上,可以使用 Visual Studio 调试 Unity 应用程序中的着色器。本页面包含有关如何执行此操作的信息。

注意:如果使用的是 DirectX 12,Microsoft 建议使用 PIX 而不是 Visual Studio 来调试着色器。有关在 Windows 上对 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. 选择 Project > Properties > Configuration Properties > Debugging
  4. Command 字段中,将 $(TargetPath) 替换为 Windows 独立平台应用程序(例如 C:\MyApp\MyApp.exe
  5. 如果要强制项目在 DirectX 11 下运行,请选择 Command Arguments 并键入 -force-d3d11

使用 Visual Studio 调试着色器

有关设置 Visual Studio 的说明,请参阅 Microsoft 文档:安装 Visual Studio

有关设置和使用 Visual Studio 图形调试工具的说明,请参阅 Microsoft 文档:Visual Studio 图形诊断

优化着色器运行时性能
使用 PIX 来调试 DirectX 12 着色器