2.9 KiB
2.9 KiB
title, date, tags, rating
title | date | tags | rating |
---|---|---|---|
FastBuild联机编译Shader以及共享DDC | 2022-08-09 13:55:15 | FastBuild DDC | ⭐️⭐️ |
UE5的Zen Loader & Zen Store
UE5推出了Zen Loader & Zen Store,大概率会在之后的版本代替之前的DDC缓存功能。但目前该功能没有详细的使用文档。
前言
目前考虑的方法是使用FastBuild的分布式编译来加快Shader编译与速度,并且使用共享DDC来减少构建时间。
- 在 Mac 构建机上配置 UE4 FastBuild 及 DDC:https://zhuanlan.zhihu.com/p/474404469
- UE4.24 FastBuild(v1.02) 支持C++与 Shader 可用的分布编译加速方案:https://zhuanlan.zhihu.com/p/307581961
- 官方文档
共享DDC
- 在DefaultEngine.ini中覆盖你的项目设置(如下图所示),该覆盖项会将路径设置为团队的有效位置。
[InstalledDerivedDataBackendGraph] Shared=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=10, FoldersToClean=10, MaxFileChecksPerSec=1, ConsiderSlowAt=70, PromptIfMissing=false, Path=\YourCompanyServer\DDC, EnvPathOverride=UE-SharedDataCachePath, EditorOverrideSetting=SharedDerivedDataCache)
- 将
UE-SharedDataCachePath
(在Mac/Linux上为UE_SharedDataCachePath
)的环境变量(如下图所示)设置为要使用的文件夹。 - 在编辑器General-Global-DerivedDataCache中,设置
SharedDerivedDataCache
变量。
- 官方译版引擎:[InstalledDerivedDataBackendGraph]
- 源码版:[DerivedDataBackendGraph]
使用Commandlet生成DDC
在设置完之后就可以通过 Commandlet 来执行DDC的生成了:
Engine\Binaries\Win64\UE4Editor.exe Client\Client.uproject -run=DerivedDataCache -fill
禁用共享DDC
当开发人员远程处理项目时,并且该项目已配置了共享DDC时,开发人员可能会遇到性能不佳的情况,这是因为访问DDC数据比生成DDC数据花费的时间更长。要暂时禁用共享DDC,请使用以下方法之一:
- 在命令行上传递-ddc=noshared。
- 将环境变量设置为本地硬盘驱动器:
UE-SharedDataCachePath=None
- 在Mac上:
UE_SharedDataCachePath=None
启用FastBuild编译Shader
Shader 编译使用 CVars 打开,在 DefaultEngine.ini 中的 [/Script/Engine.RendererSettings] 部分,添加如下内容:
r.FASTBuildShaderCompile=1
FASTBuild Dashboard
可以使用FASTBuild Dashboard来查看联机构建情况。