ue4:distributedbuildtool
分散ビルド
仕事で UnrealEngine を使った開発を行う場合分散ビルドはほぼ必須です。
ただし最近の PC は CPU core を多数搭載している物が増えてきたので、以前よりも単独ビルドと分散ビルドとの差が少なくなっています。 16 core 32 thread 以上の CPU かつ NVMe SSD であれば、分散ビルドとほぼ同等の効率で開発できると思われます。(4.24以前。新しいエンジンになるほどビルド時間が延びています)
UnrealEngine が対応している分散ビルドシステムには下記のものがあります。
分散ビルドツール | C++ | Shader | Tool 対応 Platform | UE4 の対応 Platform (未確認) | |
---|---|---|---|---|---|
IncrediBuild | 有料、コア数に応じて料金が必要 | 対応 | 対応 | Windows/Linux/その他 | Windows/Androidその他 |
SN-DBS | Sony Platform の開発専用 | 対応 | UE 4.27以降で対応 | Windows/PS | Windows/PS |
FASTBuild | オープンソース | 対応 | UE 5.0 Release 以降 | Windows/Mac/Linux/その他 | Windows/Mac/その他 |
Distcc | Windows 以外、オープンソース | 対応 | 非対応 (未確認) | Mac/Linux | Mac |
分散ビルドできるのは UnrealEngine の C++ のコンパイルと Shader です。
- 分散ビルド使用時のコンパイル時間は CPU Thread 数だけでなくネットワーク速度とストレージ速度にも依存します。
- SN-DBS は UE4 4.27 以降で Shader の分散ビルドに対応しました。UE5 Release 版でも対応しています。(5.0 EA は非対応)
- FASTBuild は UE5 Release 版以降で Shader の分散ビルドに対応を行っているようです。(5.0 EA は非対応)
- Linux Host での分散ビルドは未確認ですが、Windows 上で Linux CrossToolchain を使用する場合は分散ビルドが可能です。
分散ビルドの有効化
- IncrediBuild, SN-DBS はインストールされていれば自動的に有効になります。
- 明示的に無効化したい場合は BuildConfiguration.xml (USERPROFILE/Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml) で指定してください。
<?xml version='1.0' encoding='utf-8'?> <Configuration xmlns="https://www.unrealengine.com/BuildConfiguration"> <BuildConfiguration> <bAllowXGE>false</bAllowXGE> <bAllowSNDBS>true</bAllowSNDBS> <bAllowFASTBuild>false</bAllowFASTBuild> <bAllowDistcc>false</bAllowDistcc> </BuildConfiguration> </Configuration>
ue4/distributedbuildtool.txt · 最終更新: 2021/12/26 15:23 by oga