BlueRoseNote/03-UnrealEngine/流程管理与部署/FastBuild联机编译Shader以及共享DDC.md

2.9 KiB
Raw Permalink Blame History

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来减少构建时间。

共享DDC

  1. 在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)
  1. 将 UE-SharedDataCachePath在Mac/Linux上为 UE_SharedDataCachePath)的环境变量(如下图所示)设置为要使用的文件夹。
  2. 在编辑器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来查看联机构建情况。

地址:https://github.com/hillin/FASTBuild-Dashboard