View Issue Details

IDProjectCategoryView StatusLast Update
0004734The Dark ModFeature proposalpublic30.12.2018 06:27
ReporterJudith Assigned Toduzenko  
PrioritylowSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
PlatformOSOS Version7
Product VersionSVN 
Target VersionTDM 2.07Fixed in VersionTDM 2.07 
Summary0004734: Frame limiter option for TDM
DescriptionTo make the gameplay more smooth on unoptimised maps or maybe even to squeeze more performance from the engine, we could have a frame limiter (activated when the Vsync is Off), with several options like 60, 45, 30 fps.

That would help players with performance problems, as it's better to have stable 30 fps than e.g. constant hitching between 30 and 45.

I imagine that would also enable more experienced mappers to have additional drawcalls per scene (e.g. by setting their target performance to e.g. 45 fps instead of 60), although this sure would need to be used carefully.
TagsNo tags attached.

Relationships

related to 0003684 new Investigate GPL Renderer Improvements 

Activities

duzenko

duzenko

24.03.2018 08:41

developer   ~0010150

The legacy cvar for this was com_maxfps
Judith

Judith

24.03.2018 17:32

reporter   ~0010155

Great, it would be nice to have it back both as command and menu option.
duzenko

duzenko

26.12.2018 15:51

developer   ~0011133

Revision: 7865
----
Modified : /trunk/framework/Common.cpp
Modified : /trunk/framework/Session.cpp
Springheel

Springheel

26.12.2018 17:39

administrator   ~0011134

It used to be that having vsync on would do exactly what you describe. When vsync was off, you would see the actual framerate, which is useful when you want to know the exact fps you're gaining in a scene, either as a mapper or as a player who is adjusting video settings for best fps.

How does it work now?
nbohr1more

nbohr1more

26.12.2018 18:28

developer   ~0011135

Last edited: 26.12.2018 18:30

View 2 revisions

While vsync can mostly accomplish this feature, end users must also configure
the monitor refresh on the driver side or set r_displayRefresh to a specific
value in autoexec.cfg (for hardware safety reasons, this cvar value is not
archived).

Another limitation of vsync is that it falls back to half FPS targets when you
miss the threshold. Eg. Go below 60 FPS, then immediately drop to 30. Some
drivers support Adaptive vsync modes that don't do this but that's another thing
end users have to change in their driver settings. (Admittedly, we might want to
consider adding a specific "adaptive" toggle to vsync in the GUI.)

To offer a simple summary, this new feature allows you to gain the performance
benefits of capping FPS at a specific value without any of the downsides of what
vsync does (eg. half FPS targets, buffering latency) ...and without users
needing to play with driver settings.

Springheel

Springheel

26.12.2018 18:58

administrator   ~0011136

I read "activated when the Vsync is Off" as suggesting that there wouldn't be a way to get accurate FPS readings, either with vsync on or off. No worries if that's not the case.
stgatilov

stgatilov

30.12.2018 06:27

developer   ~0011186

Hey guys, why 125?
Some people have 144 Hz monitors and they complain about such limit =)

I'll revert it to 166, since that was the value before change, and merge it to release.

Issue History

Date Modified Username Field Change
18.01.2018 13:22 Judith New Issue
24.03.2018 08:41 duzenko Note Added: 0010150
24.03.2018 17:32 Judith Note Added: 0010155
20.12.2018 16:35 nbohr1more Relationship added related to 0003684
21.12.2018 09:52 duzenko OS Windows =>
21.12.2018 09:52 duzenko Platform x64 =>
21.12.2018 09:52 duzenko Target Version => TDM 2.08
26.12.2018 15:50 duzenko Assigned To => duzenko
26.12.2018 15:50 duzenko Status new => assigned
26.12.2018 15:51 duzenko Note Added: 0011133
26.12.2018 15:51 duzenko Status assigned => resolved
26.12.2018 15:51 duzenko Fixed in Version => SVN
26.12.2018 15:51 duzenko Resolution open => fixed
26.12.2018 17:39 Springheel Note Added: 0011134
26.12.2018 18:28 nbohr1more Note Added: 0011135
26.12.2018 18:30 nbohr1more Note Edited: 0011135 View Revisions
26.12.2018 18:38 nbohr1more Fixed in Version SVN => TDM 2.07
26.12.2018 18:38 nbohr1more Target Version TDM 2.08 => TDM 2.07
26.12.2018 18:58 Springheel Note Added: 0011136
30.12.2018 06:27 stgatilov Note Added: 0011186