VectorSatyr / SonicTimeTwisted

A Sonic the Hedgehog fan game developed in GameMaker: Studio for Windows PC, now ported to GameMaker Studio 2.
https://overboundstudio.com
GNU General Public License v3.0
9 stars 2 forks source link

Improve compilation time #34

Closed VectorSatyr closed 3 years ago

VectorSatyr commented 3 years ago

Sonic Time Twisted is a very large project. Compilation of the entire project from a clean cache can take up to 15 minutes when targeting Virtual Machine (VM) output, and over an hour targeting YoYo Compiler (YYC) output. (This is assuming a somewhat stable PC with a large amount of memory) Compilation time improves only slightly when reusing a fully loaded cache, but due to the way GameMaker Studio 2 handles asset changes, starting from a cleaned cache is sometimes unavoidable.

The most direct way to improve compilation time is to reduce the disk size occupied by assets in the project, so that packaging those assets during compilation takes less time to complete. This can mean:

These changes may have a small side effect of boosting game performance, since the assets will then take up less memory while running the game.

We may also conduct an investigation into how GameMaker Studio 2 decides when to re-compile the game's packages, and incorporate it into our Contribution Guide so contributors can work more effectively on the project.

VectorSatyr commented 3 years ago

We have reached a limit to how much compilation time can be saved by further pruning and compressing the existing assets without having to re-write the majority of the code. The task of further cleaning up the project shall be left to another developer.