[程式] UE4 關閉IncrediBuild的方法

作者: yekdniw (yekdniw)   2017-11-09 21:01:59
網頁版
http://yekdniwunrealengine.blogspot.tw/2017/11/incredibuild.html
用incredibuild來build UnrealBuildTool.exe(UBT),
UBT會再呼叫Incredibuild 形成遞迴呼叫incredibuild,
導致在編譯的時候會收到錯誤:
A Xoreax distributed job cannot be started from within another distributed
job.
目前已知UBT跟Shader compile worker這兩個project
好像都不能使用Incredibuild來作編譯。
如果想要關掉incredibuild 除了下面說的改xml的方法之外,
另一個就是uninstall incredibuild了。
不要想去incredibuild按stop service
或是把incredibuild執行檔從工作管理員裡面停止,
這兩招對unreal都沒用。
unreal都是直接去incredibuild的安裝資料夾叫起執行檔來執行的~
為了解決這個問題,要在xml裡關掉incredibuild 來Build UBT
檔案路徑
C:\Users\[使用者帳號]\AppData\Roaming\Unreal
Engine\UnrealBuildTool\BuildConfiguration.xml
加上這行
<bAllowXGE>false</bAllowXGE>
範例如下:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<bAllowXGE>false</bAllowXGE>
</BuildConfiguration>
</Configuration>
然後去Visual studio對UBT跟shader compile worker兩個專案手動對project build。
當build好之後再回來改.xml把bAllowXGE改成true。
之後就可以繼續使用incredibuild了。
作者: coolrobin (泳圈)   2017-11-09 23:44:00
推,不過引擎編一次而已,有沒有用incredibuild差在哪嗎?
作者: yekdniw (yekdniw)   2017-11-10 01:13:00
第一次編引擎要很久,之後編專案如果程式碼夠多incredibuild應該是可以省下很多時間的
作者: cjcat2266 (CJ Cat)   2017-11-10 03:45:00
Incredibuild主要功能不是用來多台電腦一起build嗎?
作者: windkey (揪嚕嚕)   2017-11-10 09:25:00
是多台一起build 我以為一樓是在問如果只build一次何必在UE4專案導入incredibuild?
作者: dorgonman (dorgonman)   2017-11-10 09:48:00
基本上UE4預設是單核心編譯,加了這個至少有四核官方有免費30天的Free License,但會有外國人一直打電話來騷擾....時間過就會只剩單核心四核可以用修正,只剩單機四核
作者: coolrobin (泳圈)   2017-11-10 20:55:00
我問的是windkey講的沒錯,如果編專案也可以用上那蠻不錯的啊,不過應該不是每個人都有辦法弄到這麼多機器用
作者: cjcat2266 (CJ Cat)   2017-11-11 02:55:00
就算是單機四核編譯還是比原本有用吧
作者: kuku321 (halipapon)   2017-11-11 13:24:00
單機四核的確還是有差 不過incredi主要應該還是多用在多人專案吧
作者: cjcat2266 (CJ Cat)   2017-11-11 13:48:00
離散build超讚的,我們程式部門大概有200+核,平常同時不會有幾個人在build,所以一般full rebuild都超迅速跟在導入離散build工具以前的所需時間是天差地遠
作者: yekdniw (yekdniw)   2017-11-11 22:44:00
以我的環境來說 有個2~4台以上就會非常有感了

Links booklink

Contact Us: admin [ a t ] ucptt.com