• Intel® Graphics Performance Analyzers 2020 R1
  • 12/20/2019
  • Public Content
Contents

修改DirectX 9/10/ 11 帧的着色器代码

您可以创建或修改 Graphics Frame Analyzer 中的着色器,看看该变化是否导致减少渲染时间并具有整个场景可接受的质量水平。 使用以下方法之一来修改 / 取代的部分代码 :
要计算的着色器性能 , 单击
Profile
按钮。Graphics Frame Analyzer 计算分析着色器总的执行时间 , 每个着色器指令的单个时间 , 以及在测量期间发生的时钟周期数。
配置仅在英特尔微架构 , 代号 Ivy Bridge 或更高版本上受支持。对于
HLSL
, 配置信息是只在您对 为适用版本的 Microsoft DirectX* 以 D3D 调试标志编译分析的着色器时才可用。否则,配置信息仅对
IL Assembly
可用,而面向
HLSL
Profile
按钮被禁用。
指定一个新的源
要以先前存在的着色器取代该着色器,执行以下操作 :
  1. Visualization
    或在
    Scene Overview
    窗格中选择
  2. 转到着色器选项卡。
  3. 着色器
    列中选择顶点 / 像素 / 几何体 /hull/Domain/ 计算着色器代码。
  4. 从下拉表中选择
    IL Assembly
    HLSL
    从下拉列表以分别编辑装配体或代码。
    • HLSL
      选项仅在您在使用 Microsoft DirectX*API 编译以运行时编译应用程序着色器的选项才可用。如果您使用在构建时编译的应用程序,则仅有
      IL Assembly
      对这些着色器可用。
    • 您不能更改 Microsoft DirectX*10 或 Microsoft DirectX*11 帧的装配体着色器代码。
  5. 单击
    Replace File...
    .
  6. Open
    窗口中 , 选择要从中装载新的着色器的文件。
  7. 单击
    Settings ...
    以在
    Shader Settings
    对话框中指定编译器选项 :
    • Include Path
      字段中指定的路径指向着色器的标题的编译器使用的文件。如果已编辑的着色器已从文件中加载 , 默认情况下是文件的路径 , 否则没有默认设置。
    • 对 HLSL, 在
      Entry Point
      字段中指定哪些函数编译器必须用作着色器的主体。此选项对应于
      pfunctionname
      参数在
      D3DXCompileShader
      Microsoft DirectX*9 、在
      D3DX10Compilefrommemory
      Microsoft DirectX*10 、或在
      D3DX11Compilefrommemory
      Microsoft DirectX*11 。如果在着色器文件中存在多个入口点 , 在编辑框中提供 “主”着色器数的名称功能。    
    • Defines
      字段中 , 指定宏 , 相对应 :
      • pdefines
        参数在
        D3DXCompile着色器
        Microsoft DirectX*9
      • pdefines
        参数中
        D3DX10Compilerfrommemory
        Microsoft DirectX*10
      • pdefines
        参数中
        D3DX11Compilerfrommemory
        Microsoft DirectX*11。
      • Defines 字段的格式是 SYMBOL号 = 值 ; 由分号分隔多个条目。
  8. 单击
    确定。
  9. Shaders
    选项卡中 , 单击
    Apply
    , 随时将这些设置应用于所需的着色器 , 无需 每次打开
    Shader Settings
    对话框。
  10. 拒绝在编辑文件所作的更改时 , 单击
    Undo Edits
    。 要将着色器恢复到原始状态 , 请单击
    Revert
编辑现有的着色器代码
您一次只能编辑一个着色器。
如果您应用
Simple Pixel Shader
Disable Erg
实验一个特定的尔格或一组尔格, Graphics Frame Analyzer (DirectX9,10,11) 禁用对被覆盖的着色器的编辑,并在
Shaders
tab 选项卡中显示相应的警告。
要编辑文本缓冲区中的着色器 , 请执行以下操作 :
  1. Visualization
    中选择。
  2. 转到着色器选项卡。
  3. Shader
    列中选择顶点 / 像素 / 几何体 /hull/Domain/ 计算着色器代码。
  4. 从下拉表中选择
    IL Assembly
    HLSL
    从下拉列表以分别编辑装配体或代码。
    您不能修改 Microsoft DirectX*10 或 Microsoft DirectX*11 帧部件着色器代码 。
  5. 根据需要编辑代码中的“代码”字段。要清除尚未有用的编辑,单击
    Undo Edits
  6. 一旦您完成更改 ,单击“
    Settings...
    以在
    Shader Settings
    窗口中指定编译器选项 。
  7. 单击
    Apply
    以应用新的着色器到选定的尔格。
  8. 拒绝在编辑文件所作的更改时 , 单击
    Undo Edits
    。 要将着色器恢复到原始状态 , 请单击
    Revert
所有编译错误出现在
Errors View
中,而
Shader Replacer
窗口则保持打开。

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.