Skip to content
This repository has been archived by the owner on Jan 11, 2021. It is now read-only.

Improve compilation time #34

Closed
VectorSatyr opened this issue Oct 27, 2020 · 1 comment
Closed

Improve compilation time #34

VectorSatyr opened this issue Oct 27, 2020 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@VectorSatyr
Copy link
Owner

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:

  • Removing unused assets from the project.
  • Cropping or compressing existing assets so they take less space.
  • Re-purposing assets so less are used overall, or less packages are generated overall.

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 VectorSatyr added the enhancement New feature or request label Oct 27, 2020
@VectorSatyr VectorSatyr self-assigned this Oct 27, 2020
@VectorSatyr VectorSatyr changed the title [Windows] [General] Improve compilation speed [Windows] [General] Improve compilation time Oct 27, 2020
This was referenced Oct 27, 2020
@VectorSatyr VectorSatyr added this to the 1.1.0 milestone Oct 27, 2020
VectorSatyr added a commit that referenced this issue Oct 27, 2020
The sprite sprHudFont is an unused asset, and so it has been removed
from the project to reduce disk space and compilation time.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 27, 2020
The sprite sprAct is an unused asset from the base template the game
is built off of. It has been removed from the project to reduce disk
space and compilation time.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 27, 2020
The sprite sprScore is an unused asset from the base template the game
is built off of. It has been removed from the project to reduce
compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 27, 2020
The sprite sprFlowerSparkCD is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 27, 2020
The sprite sprSpikeHorizontal is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprHudFont is an unused asset, and so it has been removed
from the project to reduce disk space and compilation time.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprAct is an unused asset from the base template the game
is built off of. It has been removed from the project to reduce disk
space and compilation time.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprScore is an unused asset from the base template the game
is built off of. It has been removed from the project to reduce
compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprFlowerSparkCD is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprSpikeHorizontal is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprKnucklesEnd is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprKnucklesShock is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprSuperSonic is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprShieldEarth_Rock is an unused asset, and so has been
removed from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprMetalFingerWave is an unused asset, and so has been
removed from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 28, 2020
The sprite sprEggWalkerLeg is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 29, 2020
The sprite MegaTrooperRobotnikSpr is an unused asset, and so has been
removed from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 29, 2020
The sprite sprWhaleBossFin is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 29, 2020
The sprite ExplosionSpr is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 29, 2020
The sprite sprAntenna is an unused asset, and so has been removed from
the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Oct 29, 2020
The sprite sprAntennaOrb is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprAAPPyramid is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprAAWelcome is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprFFBridge is an unused asset, and so has been removed from
the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprFFWaterfallBottom is an unused asset, and so has been
removed from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprLava is an unused asset, and so has been removed from the
project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprLavaTop is an unused asset, and so has been removed from
the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprVVDiamonds is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprVVPShimmerBack is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprVVPShimmerFront is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprVVPShimmerMiddle is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprOilFlames is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprTTZPMovingPlatform is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprPixelMask is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprPixelExhaust is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprWindTrail is an unused asset, and so has been removed
from the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprIntoPastClouds is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprSonicSpinRebound is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprGalanikFloatsEyes is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprStarBG is an unused asset, and so has been removed from
the project to reduce compilation time and save disk space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprNeverLakeDarken is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite ssprGalanikAppearEnding is an unused asset, and so has been
removed from the project to reduce compilation time and save disk
space.

Related to #34, #35
VectorSatyr added a commit that referenced this issue Nov 3, 2020
The sprite sprite734 is an unused asset, and so has been removed from
the project to reduce compilation time and save disk space.

Related to #34, #35
@VectorSatyr VectorSatyr changed the title [Windows] [General] Improve compilation time Improve compilation time Dec 15, 2020
@VectorSatyr
Copy link
Owner Author

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.

@VectorSatyr VectorSatyr removed their assignment Jan 10, 2021
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant