ryanjon2040 / Unreal-Binary-Builder

An application designed to create installed Unreal Engine builds (aka Rocket builds) from Unreal Engine GitHub source.
MIT License
657 stars 150 forks source link

Threaded compile? #42

Closed decryptedchaos closed 3 years ago

decryptedchaos commented 3 years ago

I'm attempting to use this tool to create a binary build as its name entails.

But it's been compileing for over 72 hours averaging 20% CPU UE source builds slow in normal cases. but even then i can build it in VS in about 12 hours.

This tool has been running for days and is only in stage 4/15, So I'm wondering if its not leveraging all CPU cores.

ryanjon2040 commented 3 years ago

Hi @decryptedchaos

Unreal Binary Builder is a wrapper for AutomationTool so all the compiling is done by Automation Tool itself.

decryptedchaos commented 3 years ago

@ryanjon2040 Ok in which case, the actual process executed by UBB vs Visual Studio solution build must be vastly different, because it is taking a painfully long time

ryanjon2040 commented 3 years ago

@decryptedchaos Which branch are you using? I'm building ue5-main almost everyday which you can see here and it finishes in around 6 hours on i7-4790K and 9 hours if including server and client targets. And UBB does not actually execute any process other than calling Automation Tool with commandline so the actual core usage depends on what AutomationTool is doing. Have you modifed anything like BuildConfiguration.xml or anything else?

decryptedchaos commented 3 years ago

No modifications, Building 4.26-Chaos Include Client Include Server Include datasmith wasn't sure if i needed the last one or not.

Platforms: Windows, Linux, Mac

As i said, this has been running for days, The build system isn't a potato either, Ryzen 2600X 32GB RAM

UBB

ryanjon2040 commented 3 years ago

@decryptedchaos Disable those extra platforms and enable only Win64. Then disable Server, Client and Datasmith options and try compiling from UBB again. When you build from Visual Studio I don't think it builds those extra platforms as well Server and Client.

decryptedchaos commented 3 years ago

The whole point of doing this is to get a binary build that stays the same with server support as for client, i'm unsure what it adds. but i need dedicated server support for my project. i also intend to deploy the dedicated servers on Linux hence selecting Linux.

Am i misunderstanding how this application works??

ryanjon2040 commented 3 years ago

@decryptedchaos I asked to disable those targets to see if the compilation goes faster. Building Server and Client will take more time and if you build through Visual Studio it ignores those targets which explains why it is faster. In my case adding Server and Client adds another four hours to the compile time. A fresh compiling of ue5-main initially took 10+ hours on my machine with Server, Client targets and that is only for Win64. You are building those targets for multiple platforms as well which will definitely take more time to finish.

decryptedchaos commented 3 years ago

We'll see i guess, But even with ONLY Win64 selected, it's still been running for 19 hours

ryanjon2040 commented 3 years ago

I'm closing this issue for now. Feel free to comment if required.