Project

General

Profile

Bug #4975

Game does not honor frame rate limit when V-sync is enabled

Added by achurch almost 9 years ago. Updated almost 8 years ago.

Status:
Moot
Severity:
Normal
Assignee:
-
Category:
Camera
Target version:
-
Start date:
05/12/2015
% Done:

0%

Version:
Platform:
Linux
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

As subject. To reproduce:

1) Open settings.cfg in a text editor, and set SYNC_VBL to 0 and FRAMERATE_LIMIT to 10.
2) Open the program and observe that the title screen is drawn at 10 frames per second (correct behavior).
3) Close the program.
4) In settings.cfg, change SYNC_VBL to 1.
5) Open the program.
6) Observe that the title screen is drawn much faster than 10 frames per second (this bug).

If this is the intended behavior, then the bug is instead that the settings screen does not disable the frame rate limit setting when V-sync is enabled.

I suspect this may be the (or a) root cause of bug 2499, given how users describe that changing the graphics settings had no impact on GPU overheating. (In fact, I discovered this bug while trying to solve the exact same problem of GPU overheating and observing no change in GPU temperature regardless of other graphics settings.)

I can only run the Linux version so I've marked this as a Linux issue, but given that Windows users were also reporting GPU overheating in bug 2499, this may be a platform-independent issue.

Versions tested: 1.0 (build 00830), 1.0.2 (build 00842); in both cases unmodded
System information: Linux 64-bit, NVIDIA GTS 450 with driver version 346.47

History

#1 Updated by Squelch almost 9 years ago

  • Status changed from New to Need More Info

This looks to be platform dependent. At least on first observations.

On Windows 7 x64, ATI HD7850, Monitor refresh rate 60fps

Using the setting menu only.

fps max
V-Sync on V-Sync off
Default 64 >500
60 " 60.4
80 " 80.7
100 " 101.1
120 " 121.7
140 " 142.3
160 " 162.8
180 " 183.5

Forcing Settings.cfg - SYNC_VBL = 0 and FRAMERATE_LIMIT = 10.
Observed - 25fps main menu. Depending on scene complexity (ships size) ~75fps and below in all other scenes.

Forcing Settings.cfg - SYNC_VBL = 0 and FRAMERATE_LIMIT = 75.
Observed - 75fps main menu. ~75fps and below in all other scenes.

From the above results, it would seem that V-Sync is honouring the monitor frame rate when on, and does honour the maximum frame rate setting (as set by settings menu) when off. Attempting to force a low rate via settings.cfg appears to try to lower the rate, but may not achieve this. I could only reduce mine to 25fps, but I'm not sure if this is a negative issue in itself. Higher forced rates (75) appear to work as expected.

One area of concern might be the "Default" setting with V-Sync off where the frame rate is allowed to free run. In the title screens, the GPU fans increase in speed as the temperature rises. This may lead to GPU overheat.

It is noteworthy that V-Sync is now forced off during game load to allow for the maximum performance and therefore reduced load times. The frame rate will restore to the set rate at the title screen however. The settings provided in the menu should be sufficient for most circumstances, and while it is possible to specify exact values to suit problematic displays, this is not generally recommended.

I will verify the observations on Linux to determine if this is indeed platform specific.

#2 Updated by achurch almost 9 years ago

I should note that the connection between SYNC_VBL=1 and overheating is that some drivers ignore application V-sync requests in some cases; for example, when running in windowed mode, my driver appears to return immediately from a V-sync wait request. In such cases, the game will render frames as fast as the GPU allows, and reducing the graphics settings will just increase the frame rate rather than reducing GPU load. This is why the game should honor the frame rate limit setting even when V-sync is enabled, or at least disable the frame rate limit option in that case so users know that V-sync and frame rate limiting are mutually exclusive.

#3 Updated by TriggerAu almost 8 years ago

  • Status changed from Need More Info to Needs Clarification

#4 Updated by achurch almost 8 years ago

  • Status changed from Needs Clarification to Updated
  • % Done changed from 0 to 10

Still present in 1.1.3, same symptoms as in the initial report.

#5 Updated by sal_vager almost 8 years ago

  • Status changed from Updated to Moot
  • % Done changed from 10 to 100

I'm sorry but this is not something we can fix, v-sync is a Unity engine setting and it's not controllable beyond turning it on, off or syncing every other frame.

In addition to this, whether v-sync works or not on Linux is dependent on the graphics drivers and desktop environment being used, for example while the Nvidia proprietary drivers have a 'sync to v-blank' option this is only for full screen applications.

With desktop environments v-sync simply doesn't work with xfce, this is a known issue on the xfce mailing lists, users have tried compton and full screen compositing modes to get around it.

Other DE's have similar issues, with many reports of v-sync not working and not even being possible until xorg supports it properly, there's many threads covering this topic online.

For KSP, we're limited to reducing the max frames and putting up with occasional tearing.

As for heating, that was nothing to do with v-sync, instead it was a CPU load issue.

There's no 'can't fix' option, but in this case we really can't fix this, sorry.

Setting to moot.

Also available in: Atom PDF