• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Discussion Optimizing compile time

P

Petr Skornok

Guest
Hi,

we've recently hit a point where the compilation of our game takes over 1min 30s on well performing desktop machine (project includes 3500 art assets, 1500 SFX/music files and still growing). It became a real challenge to make any changes in the code and stay in the programming flow while the game keeps compiling.

I was wondering whether there are any recommended steps to speed up the compilation time. First one I've found was adding all of our audio files into Audio Groups, loading these groups asynchronously on game start and unticking for each of those groups "Use Group On..." unless we need to recompile the audio files in the group. The audio still keeps playing and the compilation time got half of the original value.

Is there some similar trick for the assets? If Texture Group is not included during the compilation it leads to the assets not being added to the texture and not being drawn on the screen.

Thanks for the tips
 
P

ph101

Guest
I dont have any tips but I want ed to say - 1min 30secs seems a really fast compile time? Is that on YYC?
 
P

Petr Skornok

Guest
It's VM build which has been previously built and run so it is running from cache. I don't consider 1min 30s for a code change as a fast compile time. YYC build takes approx. 40mins
 
I

immortalx

Guest
Something I noticed today is that at least on YYC target, on a completely empty project but with some relatively big extensions included (FMODGMS & ImGuiGML) it takes 1 min to compile. A "full" project without these extensions, takes mere seconds on YYC.
I haven't noticed the same on VM target, but please note that I'm talking about projects wayyyy smaller than yours, and since VM builds are faster I wouldn't know for sure. Now I image that at your scale it would affect both anyway, so if you have any big extensions that you could exclude and isolate the code making use of them, maybe it would make a difference.
 
P

Petr Skornok

Guest
@immortalx Thanks for the note. I've checked the extensions we're using (GameAnalytics, Easing) and they are fairly small in size and not affecting build time that much. One interesting thing I've noticed with colleagues is that the trick I've mentioned in the original post (excluding Audio Groups from the platform build) doesn't work on Windows and the game actually builds without them, not playing SFX/music afterwards because it's not able to load the audio group. It's a behaviour I'd normally expect so I kind of feel that I am exploiting Mac bug to decrease the build time here?
 
Top