• 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.

SOLVED Slowdown fix for Windows 10! - Scheduler patch

renex

Member
hi! this is a small dll i made that fixes the performance issues some people experience with 8.1, studio 1.4 and also studio 2 up to version 2.3.1.

when the game starts, it links into this (windows system) dll and proceeds to do nothing, so i decided to hijack that and set the thread scheduler resolution to 1ms.
it fixes games that ran at 45 out of 60 fps, and it also means you no longer have to set the sleep margin so high, so your games won't use 100% cpu anymore.

(look in the releases section for the newest download)

from my github:

By default, in modern Windows, the thread scheduler resolution is 10 or even ~15.4ms. This means, if a thread tries to sleep or time something, it'll get invoked in the next possible interval. A coarse resolution means threads sleep very imprecisely, leading to massive frame drops in game maker games as they fail to present frames on time. By setting a finer resolution like 1ms, we make sure the game thread is woken up on time to present every frame.
remember to set the sleep margin to 1! higher values are unnecessary and waste cpu resources.

you can also fix games when testing directly from studio, by placing a copy in game maker's folder (next to runner.exe). and... you can also fix existing games, by just pasting it in the folder.
 
Last edited:

renex

Member
my friend has made an extension for developers:


This extension backports GameMaker Studio 2.3.2's handling of the Windows scheduler to earlier versions of GameMaker, including Studio 1.4. This allows for games to run at full speed without setting the sleep margin to high numbers and wasting CPU.
 
Thank God for you, renex and skyfloogle! All the games I've made in GMS 1.4 mysteriously slowed down to 3/4 of their normal speed a few days ago. Uninstalling the most recent Windows updates and changing my video card settings didn't make any difference. Without your fix, I'd have been totally screwed. You are lifesavers!

This topic should really be pinned; I'd imagine plenty of other 1.4 users will desperately need this.
 
So glad to hear I'm not the only one experiencing this. I actually have just written a tutorial on how to evade this mysterious slowdown by using an older version of windows. I'll put a link to this topic in there!


Uninstalling the most recent Windows updates and changing my video card settings didn't make any difference.
This is concerning, because for me this is what worked, which is how I knew the update was the cause

-------
I can confirm this extension works perfectly for 1.4 games. Although the relevant download links took a bit of digging. Maybe I'm just incompetent when it comes to github, but for anyone else equally incompetent:

To fix already compiled games:
Place this DLL next to the .exe *

To fix through code:

Download this GMS extension. Documentation here.

*If your game uses the self extractor, i.e. you selected "Single runtime executable (.exe)" when the game was initially compiled, you must extract all the files from the exe first. This can be done using software winrar or z7ip.

For indexing purposes, before finally finding this topic I searched
"game maker running slower 2021"
"game maker performance bad"
"game maker compiled games slower"

I was able to find this with
"game maker sleep margin" as I remembered reading about it previously, but that wouldn't have helped me before.
 
Last edited:
By the way did you ever consider putting up a donation link? I'd love to contribute to this, this has saved me a lot of trouble. Perhaps others would too
 
Top