To SSD or not to SSD: That is my Question

T

ThunkGames

Guest
I am getting a 500 GB or so SSD. This drive would replace my "main" hard drive with Windows system files, games, program data etc. For programming I use another, smaller drive.

For my main project I compile using the Windows YYC export. From a clean cache my game takes about 5 minutes to go from hitting the button to playing the game. I would say 5-10 seconds or so is spent saving the game, a couple minutes is spent converting audio files and the rest is spent with the "Building for 86x architecture" message (or something along those lines). I clean the cache often, and this time really starts to add up. Compiling a file on an SSD will obviously improve file save time, but other than that I don't know. Will FFMPEG and Clang work faster if the files are on an SSD? Will they work faster because they are stored on an SSD? Or is it all about RAM and CPU power? If no one knows, I'll just try saving the project on my main drive and compiling.

Thanks in advance!

-David
 
I just ran some tests, and everything is within the margin of error (+/- 2 seconds)
It took 46 seconds for my to compile from scratch (with just clearing the asset cache) on my ssd.
It took 48 seconds to compile from scratch on my hard drive
(although this is without YYC)

It took around 15 seconds to run the game with the asset cache not cleared in both cases

Hard drive: https://www.amazon.com/Blue-Cache-Desktop-Drive-WD10EZEX/dp/B0088PUEPK
ssd: https://www.amazon.com/Samsung-PM84...1470762959&sr=1-17&keywords=samsung+ssd+256gb

In my experience, I don't really see a performance improvement from going to my ssd to hard drive. I think the main factor to compiling is CPU speed (and maybe ram speed/size if you have a lot of texture pages-- see image) While the compileForm is stuck at "Build for architecture x86", my cpu gets pinned at 100%. So if anything, getting a better cpu would do you a lot more than a ssd.

But an ssd has other uses besides imaginary faster compile times. Just having a PC that can boot in seconds is a dream. I don't know how I survived with having to walk away for 5 minutes while my pc booted.

edit: why do you need to clear the cache often?
I know there is a bug in YYC where it doesn't update the Macros if you don't clear the cache, but I think that is about it
I just normally test with non-YYC as I don't have to clear the cache as often
 

wamingo

Member
what about project loading times? Or any other general usage. That improve much with ssd?
sorry for hijacking thread :b

some of my larger source examples take some time to load
 
L

L0v3

Guest
SSD makes no diffrence in compile time from my experience with C#, however it's extremly useful for local databaes on my computer. I would assume in game maker it's the same, so file handling would be faster, but that's about it. You want faster compile you would need faster cpu. As for restarting and gernral windows performance, everything is faster.
 
H

Huder

Guest
what about project loading times? Or any other general usage. That improve much with ssd?
sorry for hijacking thread :b
How often do you open project? Once a day, twice? This is not an advantage.
 

Freddy Jones

Your Main Detective
If money isn't an issue solid state improves file functionality, which like some have said improves load times on read/write things. Otherwise, Hdd is perfectly suitable. If you want faster compile get better cpu gpu and ram.
 

Murzy

Member
I think that GM:S stores at least some of the files used for compiling cached on your main disk's temp\ folder + having a SSD for your operating system will speed up things in general as well.

When I compile using the YYC-compile option the biggest bottleneck seems to be the CPU usage, though. Compiling a project takes full 100% utilization on all of the 8 worker threads of my processor – that being said, there is a fair bit of usage on my SSD (main drive where the cache is, not where the project is) as well during this process ... bouncing around 0-50-80% for the most of the time of the compilation as well.
 
T

ThunkGames

Guest
Thank you all for your responses!

I just ran some tests, and everything is within the margin of error (+/- 2 seconds)
It took 46 seconds for my to compile from scratch (with just clearing the asset cache) on my ssd.
It took 48 seconds to compile from scratch on my hard drive
(although this is without YYC)

It took around 15 seconds to run the game with the asset cache not cleared in both cases

Hard drive: https://www.amazon.com/Blue-Cache-Desktop-Drive-WD10EZEX/dp/B0088PUEPK
ssd: https://www.amazon.com/Samsung-PM84...1470762959&sr=1-17&keywords=samsung+ssd+256gb

In my experience, I don't really see a performance improvement from going to my ssd to hard drive. I think the main factor to compiling is CPU speed (and maybe ram speed/size if you have a lot of texture pages-- see image) While the compileForm is stuck at "Build for architecture x86", my cpu gets pinned at 100%. So if anything, getting a better cpu would do you a lot more than a ssd.

But an ssd has other uses besides imaginary faster compile times. Just having a PC that can boot in seconds is a dream. I don't know how I survived with having to walk away for 5 minutes while my pc booted.

edit: why do you need to clear the cache often?
I know there is a bug in YYC where it doesn't update the Macros if you don't clear the cache, but I think that is about it
I just normally test with non-YYC as I don't have to clear the cache as often
Thanks for taking time to get the numbers. I kind of supposed that the limiting factor for Clang was my CPU (mine also goes up to around 99%). I find myself clearing the cache often because I have a very large project and if I run the game a number of times consecutively weird things start to happen. Its almost hard to explain what is going on. Sometimes sprites get "swapped" with eachother.

How often do you open project? Once a day, twice? This is not an advantage.
Something like that.

-David
 
R

rui.rosario

Guest
SSD for OS will make an huge impact. SSD with programs installed in it makes a different in the program load time normally and if the programs uses a lot of files from the SSD than that will also improve (for example, if your GM:S project is on the SSD). Concerning programs running normally (for example a compiler), the OS loads the program on RAM, and except for file I/O (loading/writing files or memory page swapping) the only thing that will matter significantly in terms of performance boost is a better CPU (or more optimized programs).
 
T

ThunkGames

Guest
I think that GM:S stores at least some of the files used for compiling cached on your main disk's temp\ folder + having a SSD for your operating system will speed up things in general as well.

When I compile using the YYC-compile option the biggest bottleneck seems to be the CPU usage, though. Compiling a project takes full 100% utilization on all of the 8 worker threads of my processor – that being said, there is a fair bit of usage on my SSD (main drive where the cache is, not where the project is) as well during this process ... bouncing around 0-50-80% for the most of the time of the compilation as well.
That's interesting. I wonder if @NoobsWeStand's times might have been closer due to his not using YYC.
 
T

ThunkGames

Guest
SSD for OS will make an huge impact. SSD with programs installed in it makes a different in the program load time normally and if the programs uses a lot of files from the SSD than that will also improve (for example, if your GM:S project is on the SSD). Concerning programs running normally (for example a compiler), the OS loads the program on RAM, and except for file I/O (loading/writing files or memory page swapping) the only thing that will matter significantly in terms of performance boost is a better CPU (or more optimized programs).
This was kind of the understanding I had. Does GM:S not reference to files not in RAM during compile? Or does it already have scripts, etc in RAM at compile time and therefore not need to reference the drive at all? I can't see how this would explain an increase in disk usage during compile though.
 
-snip-
I find myself clearing the cache often because I have a very large project and if I run the game a number of times consecutively weird things start to happen. Its almost hard to explain what is going on. Sometimes sprites get "swapped" with eachother.
That is strange. I never get those types of glitches without YYC. I typically just test with non-YYC, and then once in a while, jump over to YYC and clean up everything
 

Mike

nobody important
GMC Elder
Just in general machine performance - SSD's for the WIN!

From simple boot time, to compile time - it does help on larger projects, they're brill. Get a good sized SSD for the main drive, then a large (slower) TB HD for programs, storage etc... works a treat. Don't install ALL programs to the SSD, only ones that you use ALL the time - and personally, I never install games there. They're too big, and they should be fine on a normal HD.
 

GMWolf

aka fel666
for my next PC, ill will invest in a good 500GB or even 1TB ssd. they are most deffinitly worth it! especially when compiling or 3d rendering.
the probelm is that i do end up with a lot of junk cache and temp files that never get cleaned up. and given how valuable space can be on an ssd... its not alwasy great.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Having an SSD helps the general files access times.
Disabling automatic backups and moving to version control helps saving times.
Depending on your use case, doing partial cache wipes can help a lot - so you would go to the "cache" directory, find your game's directory, go into the directory named by config, and remove the according folder ("Audio" for sounds, "Sprite"+"TextureGroups"+"TexturePageEntries" for graphics, "Scripts" for code), and run the game from GMS. GMS notices that the according cache is missing, and redoes only that bit.
 
Top