vault backup: 2025-10-27 12:14:24

This commit is contained in:
2025-10-27 12:14:24 +08:00
parent bf530495a6
commit 1c16a5c077

View File

@@ -32,8 +32,25 @@ rating: ⭐
1. 可选:使用快捷方式 -clearPSODriverCache清空PSO。 1. 可选:使用快捷方式 -clearPSODriverCache清空PSO。
2. 添加上述配置。 2. 添加上述配置。
3. 执行Launch打包并且启动项目。 3. 执行Launch打包并且启动项目。
4. 完成后可以在Saved/Metadata/PipelineCaches/找到打包的PSO文件将其复制出来。 4. 收集打包PSO完成后可以在Saved/Metadata/PipelineCaches/找到打包的PSO文件将其复制出来。
5. 收集RuntimePSO运行打包后的项目跑测后在Saved/CollectedPSOs可以找到Runtime PSO文件将其复制出来。
6. 将所有收集的PSO放到一个制定的文件夹里比如项目目录下PSOCollection进行CommandLet`ShaderPipelineCacheTools`之后会生成制定名称的spc文件。
7. 回到打包后的项目在指定平台的目录文件夹在项目的Build文件夹下的Windows、Android中新建文件夹PipelineCaches并将spc文件放入。
8. 重新使用Launch打包完成后可以在log中知道spc文件中 pso数量。
## 将收集的PSO打包进Pak中
```bash
Engine\Binaries\Win64\UnrealEditor-Cmd.exe -run=ShaderPipelineCacheTools expand #Run ShaderPipelineCacheTools with expand optionl
Project\PSOCollection\*.rec.upipelinecache #Use all .rec.upipelinecache files
Project\PSOCollection\*.shk #Use all .shk files
Project\PSOCollection\PSO_SKGZombies_PCD3D_SM6.spc # Output PSO to be bundled
cmd /k #保证CMD开启
```
```bash
"D:\UnrealEngine\UE_5.6\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" -run=ShaderPipelineCacheTools expand "D:\Project\Demo\PSOCollection\*.rec.upipelinecache" "D:\Project\Demo\PSOCollection\*.shk" "D:\Project\Demo\PSOCollection\PSO_Demo_PCD3D_SM6.spc"
```
# 执行链 # 执行链
- FGraphEventArray UPrimitiveComponent::PrecachePSOs() - FGraphEventArray UPrimitiveComponent::PrecachePSOs()
- void UMaterialInterface::InitDefaultMaterials() - void UMaterialInterface::InitDefaultMaterials()