Anti-stuttering Trick: Force Game To Render At A Fixed Fps Target

Discussion in 'TSW General Discussion' started by geloxo, Nov 20, 2020.

  1. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    I have been using this trick during years for games that do not allow to set a rendering refresh rate in the menu configuration, such as TSW2. It´s old, it´s ugly, but it still works by far much better than any other method to bypass this type of situations, such as the FPS limit option that we have in TSW2.

    If you have a 60Hz monitor you will most likely be able to achieve a steady 60 fps gameplay by using the proper graphical settings, with the minimum possible stuttering so you don´t need this trick. You don´t need it either if you have a monitor that is able to adapt refresh rate dynamically like a g-Sync compatible one. But what if, like me, you have a standard 120Hz or 144Hz monitor? Then you will see that game will jump from 60fps to higher and lower targets and you will have also terrible stuttering. That´s because today game takes your windows desktop refresh rate to render and therefore it will try to achieve the max posible targets for the refresh rate it´s running at, so 120 FPS or 144 FPS for instance, but it will fail to reach that high and the result will be the stuttering when changing FPS values. The solution is to force the refresh rate at which game is being rendered to a lower value below what you use at your windows desktop, like 60Hz or even 50Hz if supported by your hardware.

    The easiest way is to change the windows desktop to a lower refresh directly but I don´t like to change it every time, as I also run other games at 120Hz or 144 Hz. In addition I have a display port that runs above 60Hz, so this refresh does not appear in the windows settings. There are other ways to force the refresh but NVIDIA has a trick we can use, as it´s built in their drivers. The control panel allows you to set 1/2 refresh rates but only if adaptive v-sync mode is used, which is not producing the best visuals (it gives you the so called tearing). But you can still use the NVIDIA Profile Inspector tool and simply change one setting there. This tool is a well known software that became very popular in the past, at it allows you much more customization than the regular control panel. The steps are very easy:

    1) Download the latest stable version here:

    Releases · Orbmu2k/nvidiaProfileInspector · GitHub

    2) Now create a standard profile in NVIDIA control panel for the game executable (TS2Prototype-Win64-Shipping.exe), as you would do to add any other new game that is not listed there.

    3) Then enable there the regular v-sync method with NVIDIA panel as you would do with any other game where you wanted to force it and apply the changes.

    Panel.jpg

    4) Now open that profile in Inspector and set the 1/2 refresh rate in the Vertical Sync section and apply the changes.

    Inspector.jpg

    5) Check that full screen mode is enabled in game UI graphics configuration menus.

    That´s all you need to activate this trick. If you go back to the NVIDIA control panel you will see that the game v-sync row contains now a "Custom" value. This is because NVIDIA does not support this setting natively, but it´s available in their configuration variables and it will not break anything in your card, don´t worry. It does the same that a game allowing you to set a refresh rate value does. And you can always restore the profile in NVIDIA panel to the default state, so don´t panic. What we did with it was to enable the refresh cap used by adaptive method but disabling the tearing control it has, nothing else. So v-sync will work as the regular method does, but at half the monitor refresh rate.

    But there´s even more. This setting can use 1/2, 1/3 or 1/4 options, which are the steps for the original adaptive v-sync method that NVIDIA has. This means that you can set other rendering refresh rates for this game.

    For a 144Hz monitor:

    1/2 --> will target to 72 fps
    1/3 --> will target to 48 fps
    1/4 --> will target to 36 fps

    For a 120Hz monitor:

    1/2 --> will target to 60 fps
    1/3 --> will target to 40 fps
    1/4 --> will target to 30 fps

    And for a 100Hz one:

    1/2 --> will target to 50 fps
    1/3 --> will target to 33 fps
    1/4 --> will target to 25 fps

    Update

    After Microsoft released a patch early in March 2021 the stuttering was reduced by that patch. Please see the following post for further details about it:

    Got Stuttering On Pc With Gsync Or Vsync Monitor? - Microsoft Have Released A Patch | Dovetail Games Forums

    Cheers
     
    Last edited: Mar 15, 2021
    • Helpful Helpful x 10
    • Like Like x 3
  2. 59321747

    59321747 Well-Known Member

    Joined:
    Sep 16, 2020
    Messages:
    565
    Likes Received:
    320
    Very good, but I believe that DTG will gradually optimize the solution, after all, the game itself plus DLC is a large game with a volume of 100GB.
     
    • Like Like x 1
  3. Callum B.

    Callum B. Well-Known Member

    Joined:
    Aug 9, 2018
    Messages:
    1,638
    Likes Received:
    2,844
    This would work, I suppose, but completely pointless for any high refresh rate monitors with variable refresh technology (G-Sync/Freesync). Fortunately my monitor is G-Sync compatible so I use that instead and don't have to cap any frames. It looks like your monitor supports it, so why not turn it on?
     
    • Like Like x 1
  4. hyperlord

    hyperlord Well-Known Member

    Joined:
    May 20, 2019
    Messages:
    1,245
    Likes Received:
    1,270
    Yeah I was thinking the same as Callum B. since I purchased a G-Sync monitor back then to be a little "freed" by FPS jumps.
    Hmm ... I don't have a problem to configure that just for the TSW2 exe but because I'm a little bit lazy I wait for more responses here ;-)
     
  5. michael hooley

    michael hooley Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    337
    Likes Received:
    305
    It is sad that as customers that have paid for a product, we should be suggesting ways of fixing problems with the said product. surely that is DTG job.
     
    • Like Like x 2
  6. Callum B.

    Callum B. Well-Known Member

    Joined:
    Aug 9, 2018
    Messages:
    1,638
    Likes Received:
    2,844
    The microstutters fixed by this method aren't really a problem exclusive to TSW or DTG. It's just an effect of frame-skipping when the refresh-rate of a screen is out of sync with the frames being pushed by the GPU. It leads to some frames being dropped and thus a "micro stutter" that's most noticeable when moving toward or away object, which is pretty much any driving game. These microstutters are different from the ones caused by tile loading and are usually smaller and more consistent. It's actually not the game that is stuttering, but rather an effect of the display.

    Try switching from microstuttering to smooth on this page to see a simulation of what I am describing.
    https://www.testufo.com/stutter#demo=microstuttering&foreground=ffffff&background=000000&pps=720
     
  7. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    You are right, as for G-Sync users this is not mandatory. But my monitor is old and does not support G-Sync yet. The only thing I can do is to run it at different fixed refresh rates, but I have to set them in windows or in the games configuration when they allow that, as with any other regular monitor. It´s a native 144Hz one and I can use also 120Hz or 100Hz, but display port does not allow 60Hz. Now I mostly use 120Hz for all games.

    The good point about this method is that the monitor still works at 120Hz, but the rendering is capped to 60Hz by the NVIDIA method, and really capped, not only fps limited as games does now. So it´s less demanding for the game and super smooth for gameplay, as it targets to 60fps which is easier to achieve by my system than the origial 120fps that I would be trying to reach if I rendered game at 120Hz.

    I shared it cause it´s a method maybe not very popular but 100% reliable and effective. I had to use it in the past with other versions of the game as well and with other games.

    Cheers
     
    Last edited: Nov 20, 2020
    • Like Like x 2
  8. Callum B.

    Callum B. Well-Known Member

    Joined:
    Aug 9, 2018
    Messages:
    1,638
    Likes Received:
    2,844
    Ah, okay. It looked like G-Sync options were available for you in Nvidia Inspector but I guess I assumed wrongly! I'm hoping to procure a new GPU soon to replace my current 1070 as, unsurprisingly, it can't hit 60FPS at 3440x1440 in TSW2 (though it performs admirably at 45 FPS!). I will probably look into frame capping at that point simply to reduce fan noise.

    Thanks for the guide regardless, and I hope others in your situation will find it helpful!
     
    • Like Like x 1
  9. rostdor

    rostdor New Member

    Joined:
    Sep 10, 2020
    Messages:
    9
    Likes Received:
    16
    177 Gb I have a moment
     
  10. keksman

    keksman Well-Known Member

    Joined:
    Sep 28, 2017
    Messages:
    231
    Likes Received:
    363
    To anyone with a Freesync/Gsync Monitor who feels like theres still some stutter like me: enable Vsync in the Nvidia Control center, set a max framerate at around 3-4fps below ur Monitors max framerate and disable Vsync in games. Freesync/Gsync works the best likes this, according to Blurbuster Forums and I can confirm that.
     
    • Helpful Helpful x 1
  11. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Ok, I think I found the way to get stutter-free recordings. I have updated the first post video with another one. There you can see much better the smoothness itself. The recording is almost 100% exact to what you see in game. Youtube reduced the final visual quality a lot after encoding it, but well, that´s life...

    Cheers
     
  12. subwayvaughn

    subwayvaughn Active Member

    Joined:
    Sep 2, 2020
    Messages:
    48
    Likes Received:
    177
    Thank you, Geloxo. I’ll give this a go over the weekend.

    Regards,

    Vaughn
     
  13. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    You are welcome mate. Try it as it worths it. I recovered faith in game again. Now it runs smooth and I can still have high details at long distances. Old routes are a totally new world and yards are not a problem anymore. In my case system rendering workload was reduced so much that I could push the details one more notch up to a x3 viedistance and still maintain a constant framerate. That was impossible for me before, as I had a lot of lag and stuttering. Now you can have amazing cab views everywhere you go and a pleasant driving experience :)

    TS2Prototype-Win64-Shipping 2020-11-20 22-22-38.jpg

    TS2Prototype-Win64-Shipping 2020-11-20 22-25-57.jpg

    TS2Prototype-Win64-Shipping 2020-11-20 21-45-36.jpg

    Cheers
     
    Last edited: Nov 20, 2020
  14. hightower

    hightower Guest

    I’m interested and baffled in equal measure by this. I believe we’ve got almost identical setups save for the CPU (AMD vs Intel - where your higher clock speed should, in theory, win the day for gaming), except I have a 60hz 4K monitor. It's surprising that a monitor can make so much difference but it does seem that way.

    With these .ini settings below, I’m getting a pretty rock solid (save for the odd stutter which is largely route dependent) 60fps. In game I have 4K Ultra and 100% screen percentage, whilst VSYNC and frame limiter are turned off. Save for the underlying lighting issues etc. with these settings the game does look pretty damn good now.

    [SystemSettings]
    r.ViewDistanceScale=8
    r.StaticMeshLODDistanceScale=0.70
    foliage.LODDistanceScale=5
    r.ShadowQuality=5
    r.Shadow.DistanceScale=2.0
    r.DefaultFeature.MotionBlur=0
    r.TextureStreaming=0
    r.BloomQuality=1
    r.TemporalAASamples=64
    r.SkeletalMeshLODBias=-2
    r.Color.Mid=0.4
    r.HighQualityLightMaps=1
    r.PostProcessAAQuality=6
    r.MaxAnisotropy=16
    r.Tonemapper.Quality=4
    r.Tonemapper.GrainQuantization=1
    r.SceneColorFringe.Max=0
    r.SceneColorFringeQuality=0
    r.LandscapeLODDistributionScale=3

    I have Vertical Sync set to Fast in Nvidia CP and the monitor as a G-Sync compatible. It is, but it’s not officially supported...

    1.png
    2.png

    I've also manually overclocked my GPU (ASUS ROG Strix RTX 2080ti OC) which undoubtedly helps. It 's totally stable at these settings and runs between 66 & 71 degrees. In game I've seen the clock speed hit and maintain 2100mhz.

    3.jpg

    I think that what this thread is perhaps suggesting is that it’s peoples setups, rather than the actual game itself that are responsible for some (not all) of the stutters, particularly as you seem to have managed to dial them out.

    The one caveat to all of this, is that if I let the game run under DX11 the fps can really drop in intensive areas, like Cologne. Running it under DX12 makes a MASSIVE (bold and underlined because it is that big) difference, and the solid 60fps is only achievable under that regime.

    I’m mystified as to why DTG seem to be saying they’re not going to support it. There might be a valid reason, but given the free performance boost it gives it seems, to a layman at least, crazy not to.
     
    Last edited by a moderator: Nov 21, 2020
    • Like Like x 1
  15. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    In terms of rendering you are above as I´m not running native 4K. I run this at 1080p with 200% scaling in game. My monitor is not 4K.

    The main problem behind this thread is that games renders at your desktop resolution, so if you didn´t notice it (as it was my case till I started to monitor the fps) you may have the problem I faced as well: the rendering target fps are simply impossible to achieve by game and you will stutter like hell. As you guys said before this is not a problem for people running monitors at 60Hz, unless for some reason they want to force game to run at 30Hz. They could do it by using a 1/2 refresh as well sure, but I think going below 60Hz has no sense unless they stutter like crazy too. So nor game nor user are the guilty ones here indeed. It`s just that you need to be aware of this fact in order to configure game properly. The FPS cap never worked well in any games I know they used it. Flight Simulator had the same problem years ago. What better solves the stuttering is to limit the rendering refresh rate itself. It requires less efforts from your system and provides smoother results.

    Regarding DX12 I really don´t know what´s behind it and why devs don´t want to go with it. It may be just that it has a more efficient memory handling or bigger buffer in engine, who knows. But the fact is that together with texture stream off, it by far behaves much better on large tiles, as you said. The other settings I proposed are just cosmetic, for people willing to have better visuals and viewdistances. Any other settings proposals on this matter are fine too. But the real key elements for better game performance and stability are the following three:

    1) DX12 activated
    2) r.TextureStreaming=0 (disabled)
    3) Render at the lowest possible refresh rate (either by setting it at windows desktop or by limiting it with my trick)

    Cheers
     
    Last edited: Nov 21, 2020
    • Like Like x 1
  16. bescot

    bescot Well-Known Member

    Joined:
    Dec 14, 2016
    Messages:
    623
    Likes Received:
    1,103
    What helped me on a 1080ti and a 4k screen is running at 30Hz and using in-game vsync to hold at 30fps. The card isn't powerful enough to maintain 60Hz and 60fps. 30fps is buttery smooth, whereas 45fps or thereabouts without v synch is very jittery. That's with DX12 and streaming off in the ini
     
    • Like Like x 1
  17. hyperlord

    hyperlord Well-Known Member

    Joined:
    May 20, 2019
    Messages:
    1,245
    Likes Received:
    1,270
    Oh thanks, mate! In combination with the findings from geloxo I took the time yesterday and set my game and nivdia settings accordingly, activated the DX12-switch and set a proper FPS target (30 fps in this case) and had a better experience driving Munich-Augsburg stutter-wise.
    So, indeed this prooves (to me) that there is at least something you can do as end-user. The GSync-Vsync combination is gold!

    I've had a similar experience when I set up TS2021 according to a very popular thread here in the forums and afterwards it behaved like a utterly different (better) game (performance and visual quality-wise).

    Btw: What do you guys think would be the best resolution-performance ratio for WQHD? I had 1440p as my resoultion set ingame and scaled that picture 150%, otherwise, I thought, I would never get rid of those flickering effects. But performance suffered hard somehow. Now I went down to 1080p and scale this up 150% to get at least stable framerates. But ... I don't know I thought my 2060 Super could handle that better than my GTX 970 I had during TSW1-period but the performance is quite the same at the moment, now at least non-stuttering 30 fps.
    I think I should look into my engine.ini again, maybe I'm doing some viewdistance overkill somewhere...
     
  18. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Great news. Nice to read that the post helped you guys. Regarding the best setting there's no gold combination. You need to find what's the optimal for your system and what you feel best matches your own visual preferences. I prefer detailed viewdistance myself cause I like to have good definition in the distant field of view. Others prefer high fps, and so on.

    For the scaling the best is always 200% if you can use it as it gives the best definition. Lower values do not scale image symetrically and therefore results are not so nice but they are more performance friendly.

    Cheers
     
  19. maxipolo12

    maxipolo12 Well-Known Member

    Joined:
    Apr 24, 2020
    Messages:
    662
    Likes Received:
    955
    that simply crazy what the players are obliged to do to have "normal" gaming expérience.
    Damn what are doing the devs ...

    I will try the tutorial ;)

    Hope that DTG will have a look on this.
     
    Last edited: Dec 2, 2020
    • Like Like x 1
  20. hyperlord

    hyperlord Well-Known Member

    Joined:
    May 20, 2019
    Messages:
    1,245
    Likes Received:
    1,270
    Oh, an update: meanwhile I settled with FullHD + 200% and, besides the tile loading, have absolutely no stuttering anymore with "reasonable 30-45 FPS"
     
  21. maxipolo12

    maxipolo12 Well-Known Member

    Joined:
    Apr 24, 2020
    Messages:
    662
    Likes Received:
    955
    Still have stuttering on köln aachen but now with sun / lighting flickering

    I retry with ini tweaks

    nope nothing to do ..
    (i have Gsync monitor)

    But it is clearly bounded with the maps.
    I dont have any stuttering on london brighton map or Cumberland.
    for the german ones much more :/ especially in koln aachen - maybe because of the speed - the game can maybe not assume the texture generation
     
    Last edited: Dec 3, 2020
  22. solicitr

    solicitr Well-Known Member

    Joined:
    Jun 20, 2020
    Messages:
    11,734
    Likes Received:
    17,949
    All right, geloxo , I have downloaded the Nvidia Inspector, but I cannot figure out how to make it load TSW2 or any other profile, other than its own bundled presets.
     
  23. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Click on the middle icon to create a new one (give it a name). Then click on the right side icon to link it to TSW executable. And then select the profile name on the left side list to configure it. Remember to apply changes at the end.

    New Bitmap Image.jpg

    The exe is in the following path in your game directory: \WindowsNoEditor\TS2Prototype\Binaries\Win64\

    Cheers
     
  24. solicitr

    solicitr Well-Known Member

    Joined:
    Jun 20, 2020
    Messages:
    11,734
    Likes Received:
    17,949
    But what if I already have a profile set up in the control panel?
     
  25. malikrthr

    malikrthr Well-Known Member

    Joined:
    Mar 1, 2019
    Messages:
    764
    Likes Received:
    1,260
    This is an interesting find on how to solve the stuttering issues encountered in TSW2. Would it be possible to stop the stuttering if I have a monitor that is not Gsync/FreeSync. I have a ViewSonic VA2246mh LED monitor. My system is kind of on the older side. I have an AMD Phenom II X4 965 BE CPU @ 3.4Ghz and an EVGA GTX 1060 SSC 6GB GDDR5 GPU. From the UFO test that was a few posts above, would it be possible to configure TSW2 with smooth VSYNC on my system. I would like to try to reduce or eliminate the stuttering for the simulator. Please let me know if this would be possible. I have fair fps overall but would really like to get rid of the stutters and microstutters.
     
  26. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Both profiles are the same thing. Inspector is just a profile editor. Just find the profile in the list.

    You can set smooth vsync in the control panel directly malikrthr. But the best results I have seen are with the method ai explained.

    Cheers
     
    Last edited: Feb 24, 2021
  27. solicitr

    solicitr Well-Known Member

    Joined:
    Jun 20, 2020
    Messages:
    11,734
    Likes Received:
    17,949
    Problem is, I can't find my existing TSW2 profile in the list. Everything in the drop-down besides the packaged presets is given a coded identifier, not a name.
     
  28. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Then just add the new profile in Inspector as I told you before. This will add it to NVIDIA as well or overwrite it if it´s already existing with a different name. The exe file is what is linked to the profiles, not the name given to them. You can always restore profiles to default values in case of problems, so don´t worry.

    Cheers
     
  29. solicitr

    solicitr Well-Known Member

    Joined:
    Jun 20, 2020
    Messages:
    11,734
    Likes Received:
    17,949
    Except my TSW2 profile is anything but default- I spent a long time tweaking it and don't want to just overwrite it.

    Where on my hard drive does Nvidia store its profiles? If I could nail down the filepath, I could make this work without deleting what I have.
     
  30. geloxo

    geloxo Well-Known Member

    Joined:
    Nov 21, 2018
    Messages:
    956
    Likes Received:
    1,694
    Honestly I don't know :( Maybe in the nvidia drivers folder. I guess that in google you could find something.

    Cheers
     
  31. gfysps4gaming

    gfysps4gaming Member

    Joined:
    Jan 8, 2020
    Messages:
    67
    Likes Received:
    46
    dont do crap no matter what
     
  32. Crosstie

    Crosstie Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    4,531
    Likes Received:
    10,149
    On a somewhat related subject, I'm planning on upgrading my monitor this summer. Since 4k displays are pretty inexpensive these days ( $350-400), I was wondering what other players' experience is like with 4k monitors.
     
  33. michael hooley

    michael hooley Well-Known Member

    Joined:
    Dec 11, 2016
    Messages:
    337
    Likes Received:
    305
    I suppose you are referring to a monitor and not a 4K tv?. I have been using a 4K tv for about a year and I am trying out something with surprising results. i will test for a bit longer to make sure it is not a fluke, then i will report.

    Mike
     
    • Like Like x 1
  34. Quentin

    Quentin Well-Known Member

    Joined:
    Dec 8, 2016
    Messages:
    438
    Likes Received:
    426
    I'm on my second 4k monitor, a Samsung U32J59x. If you want to run TSW at 4k, with all settings to max (otherwise there's not much point in 4k :)) you'll need a substantial graphics card. My RTX 2070 often dips below 30fps on 'busy' sections of routes.
     
  35. cwf.green

    cwf.green Well-Known Member

    Joined:
    Mar 4, 2019
    Messages:
    815
    Likes Received:
    1,346
    I'm confused. My TSW2 does have an fps limiter (Settings - Advanced Settings - Max FPS). It works with Vsynch turned to off.
    Are you saying that this is not a rendering refresh rate limiter?
     
  36. dbrunner#4864

    dbrunner#4864 Well-Known Member

    Joined:
    Mar 25, 2021
    Messages:
    392
    Likes Received:
    533
    Playing with fixed 60 fps even tough my Free sync monitor does 75. Still have occasional graphical and sound stutter on routes, including GWE in TSW2 (not present in TSW 2020). The stutters are not very often and not on all routes, but still occur. Tried all sort of texture streaming settings, did not make any difference. From what i read this might be caused by the actual shader cache and i don't know how to control that via tweaks. I think that the occasional stutters are a core engine thing. If your PC can push stable frame rates but still got the stutter, its clear its more than just a few settings.
     

Share This Page