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:
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.
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.
GitHub - omicronrex/gms_scheduler_fix: Also known as DBGHELP.DLL; Scheduler resolution fix for GM:Studio and GM8.1 (not to be confused with Debugger Helper)
Also known as DBGHELP.DLL; Scheduler resolution fix for GM:Studio and GM8.1 (not to be confused with Debugger Helper) - omicronrex/gms_scheduler_fix
github.com
from my github:
remember to set the sleep margin to 1! higher values are unnecessary and waste cpu resources.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.
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: