• 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 duplicate screens fullscreen lag

Kyon

Member
Hi everyone,
I've been struggling with a certain bug for years now.
Most of the times when I connect my laptop to a different screen with HDMI, like a tv screen. And it's set to "duplicate" the screens, and I'm in fullscreen.
My gamemaker games lag. But a weird kind of lag, like a constant slow framerate. Debugger won't show this, but you can see it.

At first I thought it was something I did in my programming, but recently noticed it with other gamemaker games on fullscreen, with duplicated screens, it also happens!
It's probably a refreshrate issue. I can also fix this by disabling my laptop screen, and then enabling it again.

display_reset() vsync didn't work
display_set_timing_method(tm_sleep) didn't work

What's causing this? and why do games made in other engines don't have this issue?
How to fix?
Anyone experienced this?

Oh btw it's not just my laptop, I got the same issue from two playtesters.
I've had this problem for years but sort of ignored it because I would just not use duplicate screens. But now that I'm releasing my first commercial game today, I thought I would better fix it and do a patch for it soon!


Thanks in advance!
Kyon
 
Last edited:

DaveInDev

Member
Just an idea : I think that in case of duplicate screens, the video card adapts its refresh rate to the lowest rate of the connected screen. It is possible that you TV screen has a slow refresh rate, or at least a rate that is not "compatible" with the refresh rate of your Laptop's screen, and so the video card is strugling trying to send images to both of them at the same rate ? Did you try other non-GSM2 video games ?
 

Kyon

Member
Just an idea : I think that in case of duplicate screens, the video card adapts its refresh rate to the lowest rate of the connected screen. It is possible that you TV screen has a slow refresh rate, or at least a rate that is not "compatible" with the refresh rate of your Laptop's screen, and so the video card is strugling trying to send images to both of them at the same rate ? Did you try other non-GSM2 video games ?
yes so it seems like the problem is for sure a different refreshrate between screens. When I "prioritize" the larger TV screen its all fixed (by for instance turning laptop screen off and then on again)
I got this only with Gamemaker Games that I know of, other games work just fine. So it's something gamemaker does when compiling and I wonder if people have experienced this when releasing like commercial games.
It's not a disaster because it wont happen to everyone, but encountered it with two people already.
 

DaveInDev

Member
I also have a dual screen with my samsung TV. I never tested it with GMS2 games, so I did it, and it works perfectly. Tested it with several games, displaying the frame rate, no problems.

I just also wonder if you have the same resolution on both screens ?

Did you try with no fullscreen ? You can use borderless window with fake fullscreen...
 

Kyon

Member
It only happens in fullscreen yes, and the resolutions are not the same, although it takes the resolution of the primary screen which is in my case (and in most cases when you put your laptop with hdmi on another screen) my laptop.
If I display framerate it actually shows that it isn't lagging, but it is because of screen refresh rate.
Online I see many topics about this problem with gamemaker but no real fix as of yet I think.

Thing is, of course I can fix with borderless window and fake fullscreen. But idk, not that I'm making games with commercial outcome it just feels wrong and I want to fix it.

Thanks for thinking with me so far :)
 

DaveInDev

Member
Sorry that I cannot help you more. In my case, I always prefer fake fullscreen, because switching in/out true fullscreen is always creating weird artifacts even in mono, display. Fake fullscreen is really more comfortable for me.
 
Top