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

Windows FPS halved on specific machine

K

khiloui

Guest
Hi, I've found an issue that really concerns me. It appears that a game project I built with Game Maker studio 2 always halves fps on a specific machine.

The data I've gathered are the following:
-the game runs smoothly at 60fps on any different machine
-the fps get halved only on hdmi output monitors, using a vga cable makes the game run at 60fps
-setting the room_speed to 120 makes it 60, if set to 60 they become 30.
-using FPS (variable) reads as 60 but the monitor actually shows 30.
-using dual monitor with extended desktop, placing the game window in between them, half of the window will run at 60fps the other half at 30
-any other hdmi monitor shows 30fps
-setting sleep margin to different values didn't solve anything
-changing gms runtime didn't improve or change anything
-any new empty project gives the same result
-vsync didn't change anything
-fullscreen and windowed didn't change neither
-already tried to tweak several options with nvidia control panel with no result

I'm using a GTX980 graphic card on Windows 7.
Can I get some help, please? It's a very simple, fast paced game and this shouldn't be happening. Any advice will be of great help.

Thanks in advance.
 
K

khiloui

Guest
Thanks for the reply.

I forgot to mention that the monitor is running any other game at 60 fps.

If i play my game in windowed mode, it runs at 30 fps while any other software in the background is 60.

And as i mentioned before, if i set the room_speed at 120, the game runs smoothly at 60 fps which is a very weird behaviour.
 
A

Axyl

Guest
using dual monitor with extended desktop, placing the game window in between them, half of the window will run at 60fps the other half at 30
Proves that GameMaker isn't at fault in this case.

If it was, the game would be running 30/30 not 60/30.
 
K

khiloui

Guest
How are you measuring the FPS on the monitor?
A simple screen recorder set to 60 fps. I place my game in windowed mode and another game or software side by side. Every two frames gm game is showing me only 1 step.

Proves that GameMaker isn't at fault in this case.

If it was, the game would be running 30/30 not 60/30.
You are right.
As far as i know it could be Windows (or graphic driver?) which limits the exe file to a lower fps. I don't understand why then if i set the fps to 120 it shows me 60 as i wanted, instead of 30.
 
A

Axyl

Guest
This is one of those odd scenarios that back up my reasoning for doing this;

Code:
room_speed = 9999;
display_reset(0, true);
And then use delta_time for all movement calculations.

This way the game will run at the vSync of the screen, irresepective of whether the screen is running at 200 Hz or 20 hz. Your higher end users will love you for the additional smoothness in gameplay.
 
Top