UE4:PSO使用指南
完整流程
请按照以下文章的顺序顺序执行。
先来一个一图流指南:
启用PSO
编辑(Edit) > 项目设置(Project Settings) > 打包(Packaging) > 打包(Packaging),按照下图打开选项:
窗口(Window) > 开发者工具(Developer Tools) > 设备描述(Device Profiles)
Existing Device Profiles 输入中找到 Android 选项,点击其命名旁边的 省略号 将该设备描述打开:
控制台变量(Console Variables) 部分中查找 渲染(Rendering),按下 加号 图标公开 Search 输入:
r.ShaderPipelineCache.Enabled设为1:
此时完成了PSO收集的启用,判断是否启用可以在游戏启动的log中进行查看,如下图所示则为启动成功:
可以看到图中r.ShaderPipelineCache.Enabled:1
收集PSO
打包并在目标设备中安装,多次运行游戏的各个流程
请注意结束游戏的时候请使用游戏的退出方式,不要直接用手机结束进程。如果非得用手机杀死进程,请先转到后台片刻,不要在PSO收集过程中强行结束,会导致收集到的PSO信息无法使用
收集到的文件在:
UE4Game\NameOfProject\NameOfProject\Saved\CollectedPSOs
这里的所有文件下文都用,全部复制走
编译PSO
在C盘根目录创建文件夹名为PSOCaching
然后去这个路径找到两个csv文件:ProjectName\Saved\Cooked\PlatfourmYouCookedFor\ProjectName\Metadata\PipelineCaches
复制到我们刚创建的文件夹
还有前面提到过后文要用的文件,也粘贴到这个文件夹里
接下来去打包用的引擎文件夹里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
使用PSO
将该文将放置到
项目的 Build > Platform Name > PipelineCaches 文件夹,将stablepc.csv文件复制到Pipeline Caches文件夹。
再次进行打包
PSO成功启用的话,设备上第一次启动游戏会有明显的较长的编译shader的时间