View Issue Details

IDProjectCategoryView StatusLast Update
0004698The Dark ModCodingpublic25.09.2021 03:43
ReporterJudith Assigned Tostgatilov  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version7
Product VersionTDM 2.08 
Target VersionTDM 2.10Fixed in VersionTDM 2.10 
Summary0004698: Timescale command doesn't work with uncapped FPS / com_fixedTic 1
DescriptionTimescale command seems to be working only when com_fixedTic is set to 0.
Steps To ReproduceIn Video -> Advanced menu, set Uncap FPS to On.
Run a map with AI walking around.
Enter 'timescale 10' in console — no result.
Go back to Video menu, change Uncap FPS to Off.
Additional InformationThis seem to be true for both in 2.05 and 2.06
TagsNo tags attached.

Relationships

related to 0004924 resolvedstgatilov Rope physics mad when FPS is low and uncapped 
related to 0005324 resolvedstgatilov Refactor times and clocks 
child of 0004697 resolvedduzenko Some console commands don't work with GLSL 1 and useFBO 0/1 
child of 0004409 resolvedduzenko Add an option to lift the 60 fps lock 

Activities

nbohr1more

nbohr1more

28.12.2018 14:04

developer   ~0011157

Trunk Rev 7870 force capped FPS when timescale is enabled
nbohr1more

nbohr1more

29.12.2018 09:02

developer   ~0011172

Rev 7875, further improvement to this fix
nbohr1more

nbohr1more

01.01.2019 05:35

developer   ~0011199

Rev 7887 trunk.

Now timescale truly works with uncapped rendering.

(Previous fixes simply capped FPS when timescale was enabled.)
Judith

Judith

02.07.2020 17:09

reporter   ~0012643

The same issue exists with 2.08 now.
nbohr1more

nbohr1more

20.07.2020 05:01

developer   ~0012662

Regression confirmed.

In SVN, timescale only works with capped FPS...
nbohr1more

nbohr1more

21.07.2020 05:01

developer   ~0012664

Last edited: 21.07.2020 11:43

Broken by 4924 Rev 8435

Limit Tic Duration:

Old code game_local.cpp:

int idGameLocal::getMsec() {
    if ( idSessionLocal::com_fixedTic.GetBool() && com_timescale.GetFloat() == 1 )
        return time - previousTime;
    else
        return USERCMD_MSEC;
    return time - previousTime;


Probably just needs an "if com_timescale.GetFloat() <> 1 set to USERCMD_MSEC" condition.
nbohr1more

nbohr1more

22.07.2020 02:44

developer   ~0012669

This doesn't work:

int idGameLocal::getMsec() {

    if (com_timescale.GetFloat() != 1.0 ){
        return USERCMD_MSEC;
    }
    else {
        return time - previousTime;
    }
stgatilov

stgatilov

25.07.2020 13:38

administrator   ~0012674

I have written an article about this sort of things:
  https://wiki.thedarkmod.com/index.php?title=Time,_frames_and_ticks

And I think timescale should not work with uncapped FPS, because it accelerates async ticks, and uncapped FPS mode runs independent of async ticks.
Another similar cvar g_timeModifier should work as usual, although it is dangerous because it can break physics easily if set too high.
On the other hand, I can timescale multiplier at the place where timesteps are computed, before timestep cap happens --- that should have desirable effect.
stgatilov

stgatilov

04.08.2020 10:43

administrator   ~0012715

Last edited: 22.08.2020 15:05

I have a prototype working locally (see 0005324).
But I guess I won't commit it before GUI refactoring is finished =(
Judith

Judith

27.02.2021 15:49

reporter   ~0013739

If it's not possible to use timescale with Uncapped FPS, I think simple console prompt to disable the latter will do.
nbohr1more

nbohr1more

27.02.2021 16:42

developer   ~0013740

For now, use "g_timeModifier" instead of "timescale"
Judith

Judith

01.03.2021 15:41

reporter   ~0013752

Will do, thanks!
stgatilov

stgatilov

25.09.2021 03:43

administrator   ~0014368

Committed svn rev 9596 for 0005324.

As the result, now "timescale" works with uncapped FPS, although in a very different way.
One useful properly is that even at timescale 0.1, the graphics stays smooth.
A drawback is that sound speed is not changed, so sound durations are not in sync with gameplay.

Issue History

Date Modified Username Field Change
15.12.2017 10:20 Judith New Issue
28.12.2018 14:03 nbohr1more Relationship added child of 0004697
28.12.2018 14:04 nbohr1more Note Added: 0011157
28.12.2018 14:04 nbohr1more Assigned To => nbohr1more
28.12.2018 14:04 nbohr1more Status new => resolved
28.12.2018 14:04 nbohr1more Resolution open => fixed
28.12.2018 14:04 nbohr1more Fixed in Version => TDM 2.07
28.12.2018 14:04 nbohr1more Target Version => TDM 2.07
29.12.2018 09:02 nbohr1more Note Added: 0011172
01.01.2019 05:35 nbohr1more Note Added: 0011199
01.02.2019 05:42 nbohr1more Relationship added child of 0004409
02.07.2020 17:09 Judith Status resolved => feedback
02.07.2020 17:09 Judith Resolution fixed => reopened
02.07.2020 17:09 Judith Note Added: 0012643
20.07.2020 05:01 nbohr1more Note Added: 0012662
21.07.2020 05:01 nbohr1more Note Added: 0012664
21.07.2020 05:02 nbohr1more Relationship added related to 0004924
21.07.2020 05:03 nbohr1more Note Edited: 0012664
21.07.2020 05:03 nbohr1more Note Edited: 0012664
21.07.2020 05:03 nbohr1more Note Edited: 0012664
21.07.2020 11:43 nbohr1more Note Edited: 0012664
22.07.2020 02:44 nbohr1more Note Added: 0012669
22.07.2020 02:45 nbohr1more Assigned To nbohr1more => stgatilov
22.07.2020 02:45 nbohr1more Fixed in Version TDM 2.07 =>
22.07.2020 02:45 nbohr1more Target Version TDM 2.07 => TDM 2.09
25.07.2020 13:38 stgatilov Note Added: 0012674
04.08.2020 10:43 stgatilov Note Added: 0012715
04.08.2020 10:43 stgatilov Status feedback => assigned
09.08.2020 01:58 stgatilov Category Map Editing => Coding
22.08.2020 15:04 stgatilov Relationship added related to 0005324
22.08.2020 15:05 stgatilov Note Edited: 0012715
05.12.2020 12:29 stgatilov Product Version SVN => TDM 2.08
05.12.2020 12:29 stgatilov Target Version TDM 2.09 => TDM 2.10
27.02.2021 15:49 Judith Note Added: 0013739
27.02.2021 16:42 nbohr1more Note Added: 0013740
01.03.2021 15:41 Judith Note Added: 0013752
25.09.2021 03:43 stgatilov Status assigned => resolved
25.09.2021 03:43 stgatilov Resolution reopened => fixed
25.09.2021 03:43 stgatilov Fixed in Version => TDM 2.10
25.09.2021 03:43 stgatilov Note Added: 0014368