Page 1 of 1
[0.15.3] 20 FPS lock: G-sync not supported.
Posted: Sat Apr 29, 2017 12:29 pm
by M60Beowulf
My FPS dropped from a stable 60 to 20 when I added a second monitor to my Windows 10 machine. But when I don't focus the Factorio windows the FPS instaltly jumps to 60.

- At 20 FPS when the focus of OS.png (11.33 MiB) Viewed 2829 times

- At 60 FPS not the focus of OS.PNG (2.81 MiB) Viewed 2832 times
Sometimes when I reboot or restart or remove the second screen it gets fixed. My PC isn't the slow part. I can run at 100 FPS/500 UPS with a big factory when it does not limit while focused.
Re: [0.15.3] 20 FPS lock when ingame.
Posted: Sat Apr 29, 2017 12:40 pm
by Klonan
M60Beowulf wrote:My FPS dropped from a stable 60 to 20 when I added a second monitor to my Windows 10 machine. But when I don't focus the Factorio windows the FPS instaltly jumps to 60.
Sometimes when I reboot or restart or remove the second screen it gets fixed. My PC isn't the slow part. I can run at 100 FPS/500 UPS with a big factory when it does not limit while focused.
Thanks for the report,
Do you have Vsync turns on or off?
Could you provide some information on your GFX card, driver and other system specifications
Re: [0.15.3] 20 FPS lock when ingame.
Posted: Sat Apr 29, 2017 12:56 pm
by posila
That sometimes happens with g-sync displays. See
viewtopic.php?f=173&t=45236
Re: [0.15.3] 20 FPS lock when ingame (G-sync)
Posted: Sun Apr 30, 2017 12:26 pm
by M60Beowulf
Disabling G-sync made it possible to play Factorio at 60 FPS. But of course now I need to either look at a stuttering with V-sync screen because of the discrepancy of 60 FPS game vs 100 Hz monitor, or I need to look at tearing. I also can't simply increase the game speed to 100 UPS because then both game play gets weird and achievements can't be unlocked. I don't think any of these solution are at all what I'm looking for. I think I'll simply unplug my other monitor, reboot and play Factorio until you find an actually solution. Is this because of Nvidia driver problems, or because this is the only game I ever played that is locked in this way where the fps and engine are linked. Why don't you just add support for G-sync like every piece of software I use. I mean, my calculator app, browser and every other steam game I have work with it.
Re: [0.15.3] 20 FPS lock: G-sync not supported.
Posted: Sun Apr 30, 2017 1:25 pm
by posila
Unfortunately, I don't know how to add support for G-sync. As far as I could find out, G-sync is something completely invisible to applications, and graphics driver does it. Application just waits for v-sync as usual, and driver does g-sync instead and signals application as if v-sync happened.
On your screenshot in timing info logs, "Flip" is how many milliseconds it took Direct3DDevice::Present() to run. And Direct3DDevice::Present() just finishes rendering of queued draw calls on GPU (which shouldn't be problem since your are able to run 100 FPS without problems), waits for v-sync (if enabled) and switches back buffer with front buffer. So with G-sync I would expect it to be < 1 ms, not 46 ms on average.
Re: [0.15.3] 20 FPS lock: G-sync not supported.
Posted: Sun Apr 30, 2017 2:51 pm
by M60Beowulf
Exactly, and why did it change by adding another monitor. Is it just because that other monitor isn't 100 Hz, but 60 Hz? It worked perfect with one monitor. It refreshed exactly when the frame was rendered. I think there is something fishy going on. Cheating and going to a high game speed (I went up to 500 UPS), the frame rate went up and up until it hit 100 FPS and stayed there. But why does the Flip take so much less time by not highlighting the window? That doesn't make any sense. I would assume windows process switching giving higher priority to those processes with user-interaction. But for now I can luckily still play with one monitor attached to my machine.