UE4:PSO使用指南
完整流程

请按照以下文章的顺序顺序执行。

先来一个一图流指南:

ue4-pso-1

启用PSO

编辑(Edit) > 项目设置(Project Settings) > 打包(Packaging) > 打包(Packaging),按照下图打开选项:

ue4-pso-2.jpg

窗口(Window) > 开发者工具(Developer Tools) > 设备描述(Device Profiles)

ue4-pso-3.jpg

Existing Device Profiles 输入中找到 Android 选项,点击其命名旁边的 省略号 将该设备描述打开:

ue4-pso-4.jpg

控制台变量(Console Variables) 部分中查找 渲染(Rendering),按下 加号 图标公开 Search 输入:

ue4-pso-5.jpg

r.ShaderPipelineCache.Enabled设为1:

ue4-pso-6.jpg

此时完成了PSO收集的启用,判断是否启用可以在游戏启动的log中进行查看,如下图所示则为启动成功:

ue4-pso-7.jpg

可以看到图中r.ShaderPipelineCache.Enabled:1

收集PSO

打包并在目标设备中安装,多次运行游戏的各个流程

请注意结束游戏的时候请使用游戏的退出方式,不要直接用手机结束进程。如果非得用手机杀死进程,请先转到后台片刻,不要在PSO收集过程中强行结束,会导致收集到的PSO信息无法使用

收集到的文件在:

UE4Game\NameOfProject\NameOfProject\Saved\CollectedPSOs

ue4-pso-8.jpg

这里的所有文件下文都用,全部复制走

编译PSO

在C盘根目录创建文件夹名为PSOCaching

然后去这个路径找到两个csv文件:ProjectName\Saved\Cooked\PlatfourmYouCookedFor\ProjectName\Metadata\PipelineCaches

ue4-pso-9.jpg

复制到我们刚创建的文件夹

还有前面提到过后文要用的文件,也粘贴到这个文件夹里

ue4-pso-10.jpg

接下来去打包用的引擎文件夹里Engine\Binaries\Win64找到UE4Editor-Cmd.exe

右键创建该文件的快捷方式,复制走,到上文提到的文件夹里

然后在这个快捷方式邮件属性,目标这一栏里面后面加上:YourGameName -run=ShaderPipelineCacheTools expand C:\PSOCaching*.rec.upipelinecache C:\PSOCaching*.scl.csv YourGameName_GLSL_ES3_1_ANDROID.stablepc.csv

确认关闭

然后直接执行,或者用cmd执行,有错的话可以看到报错

然后在Engine\Binaries\Win64文件夹中寻找这个csv

ue4-pso-11.jpg

使用PSO

将该文将放置到

项目的 Build > Platform Name > PipelineCaches 文件夹,将stablepc.csv文件复制到Pipeline Caches文件夹。

再次进行打包

PSO成功启用的话,设备上第一次启动游戏会有明显的较长的编译shader的时间

Author: 木尘痕
Link: https://muchenhen.com/2020/10/20/UE4-PSO%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.