编译PSO缓存

介绍如何为PSO缓存生成所需的stablepc.csv文件。

Windows
MacOS
Linux
On this page

为使 管线状态对象(Pipeline State Object)(PSO)缓存系统拥有正确的功能,其必须将被请求的 着色器 映射到发出请求的 材质 上。使用 ShaderPipelineCacheTools 命令行来编译一个包含此映射信息的文件即可完成此操作。以下指南将说明如何使用ShaderPipelineCacheTools命令行来编译所需的文件。

步骤

  1. 首先在C盘根目录上创建一个名为 PSOCaching 的新文件夹。

  2. 接下来,打开以下路径中的UE4项目文件夹,查找 scl.csv 文件。
    ProjectName\Saved\Cooked\PlatfourmYouCookedFor\ProjectName\Metadata\PipelineCaches

    Click for full image.

    如果你在为Android设备进行开发,你需要在 AndroidEngine.ini 文件中添加以下内容:

    [DevOptions.Shaders]
    NeedsShaderStableKeys=true

    如果你没有启用 NeedsShaderStableKeys,它就不会在以后生成 stable.csv 所需的元数据中创建 scl.csv 文件。

  3. 将Pipeline Caches文件夹内的两个 scl.csv 文件复制到在C盘根目录中创建的 PSOCaching 文件夹。

  4. 接下来将 rec.upipelinecache 文件(在目标设备上运行项目时生成)复制到在C盘中创建的PSOCaching文件夹。
    Build_PSO_Needed_Files.png

  5. 要生成需要的文件,首先要使用UE4命令行函数。要使用命令行函数,首先打开 Engine\Binaries\Win64 文件夹,查找 UE4Editor-Cmd.exe 文件。 Locate_UE4Editor_CMD_EXE.png

  6. 右键点击UE4Editor-Cmd.exe文件,从显示的列表中选择 创建快捷方式 选项。

  7. 将新建的快捷方式移至C盘根目录上创建的 PSOCaching 文件夹。

  8. 右键点击 UE4Editor-Cmd.exe快捷方式,从显示的菜单中选择 属性 选项。

  9. 在Target输入中 UE4Editor-Cmd.exe 之后添加以下命令行参数。

    ActionRPG -run=ShaderPipelineCacheTools expand C:\PSOCaching*.rec.upipelinecache C:\PSOCaching*.scl.csv ActionRPG_SF_ANDROID.stablepc.csv
  10. 点击 确认 关闭快捷方式属性对话框,然后双击 UE4Editor-Cmd.exe 快捷方式运行命令行。

  11. 命令行运行完成后将新建一个名为 stablepc.csv 的文件,其将被放置在C盘根目录上的PSOCaching文件夹中。
    Stable_PC_File.png

如未能找到此文件,请尝试在Engine\Binaries\Win64文件夹中寻找。

最终结果

将scl.csv和rec.upipelinecache文件组合起来生成 stablepc.csv 文件,接下来将stablepc.csv文件放置到一个特定的位置中,使其在UE4项目编译时被使用。

如需了解stablepc.csv文件处理的更多信息,请参阅以PSO缓存编译UE4项目指南

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback