• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • 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.

Insane compile times

As of recently, I've been having a bit of trouble working on my project.

It's not exactly a problem that I'm having with the project itself, it's that every little change seems to have a random chance of making the game take forever to compile so that I can test it. Occasionally it'll cooperate and compile quickly, but more often than not it'll take anywhere between 10 to 45 minutes to compile. What's especially worrisome is that I don't even really have the game's first major area or all of the underlying systems completely finished. It pains me to imagine how much slower it'll get as more content is added. The biggest offender seems to be the "Writing Chunk... TPAGE" step. Any ideas? these compile times are really starting to cripple my workflow.

Also, if there isn't an effective way to speed it up, would it be a better idea to make large changes that can be compiled all at once instead of doing small additions bit by bit? Would it perhaps even be a good idea to preemptively import large numbers of sprites and backgrounds that I know I'll need later, let the game compile while I'm off doing something else, and have them ready when I eventually need them?
 

SoVes

Member
I have the same issue. I found out that if you cancel the compile before it is running; the bug occurs. so to avoid it for now restart your pc and the compiles should not take long if you wait for them to load.
 
R

Raphael Caloz

Guest
TPAGE stands for texture page, so my guess would be that you have a very large number of large sprites in your ressource tree. Consider :
-Reducing the size of your sprites
-Using less sprites
-Or buying a better GPU

What I used to do when I had a potato computer is develop the entire game with smaller placeholder sprites when working on large projects and only add the final sprites when I'm done with programming game mechanics.

Good luck!
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
-Or buying a better GPU
CPU and/or SSD, because TPAGE part of compile is the act of trying to pack them as tightly as possible. Checking if GM is being stalled by an antivirus is also a good idea, these get suspicious of anything writing/reading a lot of files.

Other option is to split sprites in texture groups more evenly instead of having one giant group.
 
I have the same issue. I found out that if you cancel the compile before it is running; the bug occurs. so to avoid it for now restart your pc and the compiles should not take long if you wait for them to load.
I'll admit that I do quite frequently cancel compiles if I realize that I forgot to add something that would be critical to whatever it is I'm testing. Didn't think it would cause any problems for me, but I suppose I could try to stop myself from doing that.

TPAGE stands for texture page, so my guess would be that you have a very large number of large sprites in your ressource tree.
I actually do have quite a few sprites in my project where the same frame of animation is repeated over multiple subimages to add delay and endlag to certain parts of an attack. I wasn't entirely sure whether or not GMS would automatically read them as identical to save space in the texture pages, but now that you mention it, it...probably doesn't. I guess I ought to do those sorts of things in the code with image speed changes.

CPU and/or SSD, because TPAGE part of compile is the act of trying to pack them as tightly as possible. Checking if GM is being stalled by an antivirus is also a good idea, these get suspicious of anything writing/reading a lot of files.

Other option is to split sprites in texture groups more evenly instead of having one giant group.
I've heard that splitting up texture groups is a good option, but unfortunately it's an option that I probably won't have access to for quite some time, unless chaos finally takes pity and one of the job applications that I put in around town gets accepted. I'll try whitelisting the GM compiler in my antivirus, but I'm not sure how much of a difference that'll make.
 
Last edited:
N

NeonBits

Guest
Just asking. How many texture pages are written in the compiler window once it is done with tpage? what is the size of your player sprites (it can give an idea of its environment)? Do you have sounds? Each time you clean the cache, GM must rewrite tpage and reconvert sounds. It's a good thing to clean cache but it adds more waiting.
 
Just asking. How many texture pages are written in the compiler window once it is done with tpage? what is the size of your player sprites (it can give an idea of its environment)? Do you have sounds? Each time you clean the cache, GM must rewrite tpage and reconvert sounds. It's a good thing to clean cache but it adds more waiting.
According to the compile form, there are 4 texture pages. The player actually consists of multiple sprites which are connected and angled based on some simple(ish) animation code, but to give an idea of scale, the collision mask itself is only 27 pixels tall. I actually made a point of making sure that most sprites aren't needlessly large, so that there's plenty of room on the screen.
 
N

NeonBits

Guest
My player sprites are 64 x 64. I've five texture pages and a couple sounds. Some backgrounds are large. Doesn't take me so much time to load. Do you have many programs running in the background and using memory? If I run windows media during a project, playing music, it affects performances. I switch off everything. Comp isn't big but it works. Must be something in the back. And turning off the antivirus can speed up things too (if you're not using the net and knowing it's ok).
 
My player sprites are 64 x 64. I've five texture pages and a couple sounds. Some backgrounds are large. Doesn't take me so much time to load. Do you have many programs running in the background and using memory? If I run windows media during a project, playing music, it affects performances. I switch off everything. Comp isn't big but it works. Must be something in the back. And turning off the antivirus can speed up things too.
Well, as I stated in the OP, the amount of time IS quite variable. Maybe you're right, maybe sometimes I just have too many other windows open while I'm compiling. I do like to listen to music on YouTube while I work, but maybe I'll have to limit that to when I'm spriting and coding.
 
Top