Tips for optimized rF2 performance / Guide on how to prevent low FPS

Discussion in 'Technical & Support' started by Launger, Sep 24, 2018.

  1. Launger

    Launger Registered

    Feb 14, 2012
    Likes Received:

    Since rF2 is a fairly hardware intensive simulaton, needs more optimizing than a general game and most simracers I see have problems in one form or the other, then I feel a general (sticky) thread for guidance, FAQ and discussion regarding getting the most out of your hardware and software for rF2 is required.

    I have been always simracing on mediocre hardware so getting the most bang for buck is something im very passionate about.

    I will present all my knowledge to date in two seperate topics in two separate posts below:
    1) Hardware monitoring and optimization
    2) rF2 tips and tweaks

    Hope you can find something new and please contribute further if you know better or have additional questions and problems.
    Last edited: Sep 24, 2018
    Tim, shrapnell, enduser and 8 others like this.
  2. Launger

    Launger Registered

    Feb 14, 2012
    Likes Received:
    1) OS optimization and hardware monitoring

    The program I use for all monitoring is MSI Afterburner. You can also use any alternative including Windows own Resource Monitor, but this is the most customizable and cleanest program for me.
    Here is an example of what I see if I open the program right now:

    First about OS optimization, lets go straight to the point:

    if you cannot keep 0% CPU activity on your PC for an indefinite time when you are not doing anything, you are not ready for simracing!
    This is more critical the less threads/cores your CPU has.

    If you run a fresh install of Windows 10, open no program except the hardware monitor, you will see your CPU, RAM and Disk usage rise and drop every once in a while. Sometimes randomly, sometimes frequently.
    An unoptimized PC is always checking for updates, installing updates, doing scheduled maintenance, antivirus scanning, etc.
    This is all unacceptable if you seek an undisturbed racing experience, and can ruin your performance regardless of how much money you pumped into your computer or anything else.

    Fixing this can be sorted into three steps:
    1) Uninstalling and removing all unnecessary software and Windows features
    2) Stopping and disabling any unused services and startup items. This can be done simply in Window┬┤s own Task Manager
    3) Stopping and/or disabling any unnecessary scheduled tasks. This can be done in the Task Scheduler, also a Windows program.

    I will not go into detail how to use them. If you have System Restore enabled (do disable it otherwise), you can pretty much do trial and error in conjunction with Google (google everything!) to reach a point where eventually you can open up your hardware monitor, leave your PC running for an hour, come back and see that the CPU usage has not moved a single time from 0%. Then you are ready to continue.

    I personally also use a program called Auslogics Boostspeed because it combines utilities to do all of the above and more, registry and disk cleaning etc. CCleaner is fine too. A separate program with simple UI is maybe a good introduction into optimizing your PC, but eventually all the changes and adjustments can be done manually without any of the widely available programs.

    And if you are running anything older than Windows 10, then upgrade now. If your PC cannot run it, then you cant expect to run rF2. The game cannot be guaranteed to be optimizd for an old OS and as you learned, Windows 10 is a totally lean killing machine if you optimize it. Formatting the OS is almost never a correct solution to improve performance. Further optimization and cleaning almost always is.

    Secondly, about hardware monitoring itself.

    Especially this summer there were several simracers who sweating in 40c ambient temperatures, racing with decent hardware but getting terrible performance - the hardware was thermal throttling due to over the top temperatures.
    Google your hardware - modern hardware can usually go to 85c+ without a problem, modern CPUs even to 99c, but some older gen CPUs can already throttle from 65c onwards.
    This is where MSI Afterburner is especially handy, you can just keep it minimized and recording during gameplay without any performance effect and when you experience a lagspike, you can straight away check the data (just like you check Motec data after driving) to pinpoint where the error was. Keep open simular tabs like in my example - all temperatures and clock speeds. If you see your clockspeed drop during driving, then there is a problem.
    There is an exception of modern GPUs adjusting the clockspeed lower if you are well below 100% usage, but you get the general idea.

    I will again not go into detail of how to keep your PC cool and what physical coolers and components are required to be optimized, just google how to keep your PC cool and you will be greeted with hundreds of professional writers and youtubers who will guide you into detail regarding every area. If you experience any sign of issues, then I encourage you to take that trip and educate yourself.
    Know the operation, status and capabilities of your PC as good as you can.

    Regarding general hardware tips - what parts to get for rF2 - again I will not google things for you, find the best deals for the newest generations of hardware yourself and follow tips from experts.
    One tip stands out though: Always run your OS and rF2 on an SSD!
    Numerous drivers have been trapped in a cycle of spikes resembling CPU bottlenecking when it has not been the case. Upgrading from HDD to SSD has fixed the supposed memory bandwith bottleneck, and it will also obviously improve your quality of life and save you hours a week of loading times.
    Last edited: Aug 28, 2019
    RKing, Tim, Corti and 4 others like this.
  3. Launger

    Launger Registered

    Feb 14, 2012
    Likes Received:
    rF2 tips and tweaks

    First let me introduce you to player.json, a file openable by notepad where you can tweak every setting there is, much more than in the ingame menu.
    Locate it at /Steam/steamapps/common/rfactor2/userdata/player

    My main suggestion is that the sim should never be allowed to run rampant with unlimited FPS, but instead be FPS limited via the player.json
    The command for FPS limit is "Max Framerate":[number]
    The limit should be set to 5-15% below your minimum benchmarked framerate, for example with Fraps, around a whole lap, with traffic.
    Without the limit your PC is much more vulnerable for any interruptions by other programs and also action ontrack.

    You can observe your GPU/CPU bottlenecking by pressing CRTL+C ingame. The purple bar is for physics, the green for graphics. A bar being full is bad. These indicators should be in line with your GPU/CPU usage, but sometimes arent.
    By pressing CRTL+F, a green bar also appears which indicates GPU memory usage. A thing to look out for if you are running on a 2GB card or less.

    If you are bottlenecked by the CPU, then having FPS uncapped will get you to 100% CPU usage which guarantees you lagspikes and possibly also going out of realtime even in multiplayer, teleporting you into big crashes.
    If you are bottlenecked by the GPU (most common), then you will simply have a varying framerate and frametime from corner to corner, which does not feel good.
    Plus, it is simply a waste of energy and eletricity if you are pumping out 250+fps.
    Just like you can tell the difference between 60hz and 144hz, but less so between 144hz and 240hz monitors, then the same applies for FPS.
    Regardless of your monitor refresh rate, I find a fps limit of 145 the most desirable if your hardware is not the limit. But most importantly, keep it above your refresh rate.

    With Freesync however, sometimes a fps limit of 1-2clicks below your refresh rate is better so Freesync never stops working.

    I will now also list some important settings that you can find from player.json
    There are comments regarding each command in the file itself, so I will only add my own comments.

    "Repeat Shifts":1,
    even with a new wheel, its still good to apply a small doubleclick protection to not blow up your engine etc.

    "Head Physics":0,
    "Head Rotation":0,
    "Cockpit Vibration Freq1":0,
    "Cockpit Vibration Freq2":0,
    "Cockpit Vibration Mult1":0,
    "Cockpit Vibration Mult2":0,
    Any additional simulated head movement that is not your own VR head tracking is a gimmick and distorts the feeling of the car.

    "Load Opponent Cockpits":false,
    if you dont use driver swap, then this saves a bit of loading time and memory, few FPS

    "Garage Detail":0.01,
    lowers the detail of garages, so reduces the fps drop when passing them

    "Max Headlights":2,
    self explainatory. Some people like to run headlights even in daytime, you dont need to see any of that, except for the 2 cars around you at most.

    "Max Visible Vehicles":10,
    big boost, set the number half of how many people you think you want to divebomb in the race.

    "Pitcrew Detail Level":1,
    shows only your pitcrew in the pits, saves few fps and makes spotting yours easier.

    limits mirror render distance with the number being meters. WARNING - HUGE FPS BOOST

    "Steady Framerate Thresh":0 - something you dont need

    "Soft Particles":0,
    "Spark Flow":0,
    "Smoke Flow":false,
    "Special FX":0,
    "Sun Occlusion":false,
    "Tire Emitter Flow":false,
    "Wind and Crowd Motion":false,
    "Lightning Probability":0,
    "Rain Drops":false,
    "Raindrop Flow":0,
    "Rainspray Flow":0
    A bunch of effects, but you dont need effects for performing in high level simracing esports.

    For races, I suggest disabling every unneccesary ingame plugin.
    Also disable replay saving which uses disk and memory bandwith and can create serious instability in highly populated and/or long races.

    It is also good form to disable the message center in non-race sessions. First you will not get disrputing chat and join messages, but it also remos most of the join lag when people enter the server.

    Regarding the classical settings, here is what I use as an example for you.
    These settings give me 145fps at all tracks in all conditions at an average 75% GPU and 50% CPU usage. I run a i3 7100 and GTX 1060 6GB

    rF2 config:
    Anti aliasing level 3 (further increments have small increase in quality but big effect in performance)
    Post processing none (never go above medium, the effects will be overdone and affect to performance big)
    Mode: Borderless (this gives me personally more stability and allows quicker alt-tabbing, also less vulnerable to popups)

    rF2 settings:
    Circuit detail: Medium (usually enables all the buildings for immerssion, but not the unneccesary small details that eat most of the performance)
    Player detail: Medium (bumps the textures up to a good level)
    Opponent detail: Low (makes opponents low detailed, but you wont be looking at them closely anyway)
    Texture detail: Full (big effect for sharper textures, almost no performance cost)
    Texture filter: 16x (low cost, high effect. A reasonable alternative is trilinear which makes things a bit blurry but makes textures very smooth)
    Everything else: Off (Many effects like rain, reflections and smoke are hardcoded into rF2 but they still appear, just at a lower detail with this option)

    Nvidia control panel:
    Mostly default, use 3D application setting where possible, texture filtering quality: performance (having tested the settings, there is barely any effect in quality, but some effect in peformance by dropping it to "performance")
    Last edited: Aug 28, 2019
    Tim, Corti, marmagas and 6 others like this.
  4. stonec

    stonec Member

    Jun 19, 2012
    Likes Received:
    Hm, an interesting read, most thing I agree with, some things I don't. One problem is that most of those tweaks found in player.JSON do nothing. I went ahead and tested the "load opponent cockpits" setting, as that's something used in Raceroom with success, but it actually changed nothing and opponent cockpits still load fully. Same with max headlights number. I think there has been so many changes to the game that most of those player.JSON settings are now obsolete.

    From my experience of helping forum users with poor performance, here are the most obvious pitfalls I have found:

    - Running out of GPU RAM. This happens very easily on 2 GB cards and even 3 GB ones on recent tracks. When VRAM is exceeded, FPS in rF2 drops to almost half, which I found out the hard way with my old GPU. Solution is simple, lower opponent and track texture details and the game will eat significantly less VRAM. It also helps to close any background browser and windows, as those eat VRAM as well.
    - Running in PCI-E 2.0 mode or PCI-E 3.0 at reduced PCI-E speed, e.g. 4X. Sometimes this can be solved by moving GPU to other slot, other times it requires a new motherboard. Loss in FPS is 20-30% at least, depending on GPU. I found this out the hard way as well, as I had accidentally run my GPU in a slower slot for years.
    - CPU isn't performing at rated max for whatever reason. When CPU is performing normally, 99% of time it will not cause issues in rF2. Mostly people with issues are using a laptop or a bad CPU cooling solution, which causes throttling. Even an AMD FX series CPU when operating normally can handle rF2 physics in realtime without issues with a decent number of AI cars.
    - Related to CPU, the most frequent issue is with wheel drivers not processing commands at fast enough rate, which stalls the physics thread. Solution here is simple, change the Controller.JSON parameter "use thread" to true.

    And the few graphics settings I found that make a significant impact:
    - Rain drops. As I discovered in a post earlier, rain drops off gives an extra 20% performance boost in dry weather with recent GT3 and GTE packs.
    - Post-processing and anti-aliasing. I agree with above explanation, easy FPS to be gained and users are often running these maxed for no good reason.
    - Max visible AI cars, as also explained above.
    - Shadows, perhaps the most FPS critical setting. It may be an idea to run shadows off, as this often gives less visual quirks than running them at low or medium.

    So to sum it up, most of the times it's something with the specific PC configuration that ends up causing problems. rF2 itself has, contrary to belief, a fairly limited number of graphic settings that really impact the performance.
    Last edited: Sep 24, 2018
    enduser, Corti, BillyBobBongo and 4 others like this.
  5. Greame Champion

    Greame Champion Registered

    Sep 20, 2018
    Likes Received:
    Hi Launger,

    Thanks for this, will give it a go next time I am at my PC. Would be very interested in your process to minimise CPU usage before running a game.

    Thanks to stonec also.

    Regards Greame
    Launger likes this.
  6. johnsclander

    johnsclander Registered

    Nov 3, 2011
    Likes Received:
    Me too, not only with simracing games, of course.

    Super interesting-thread, will try some of your advices and post some of my own (not really my own hehe).
    Launger likes this.
  7. Launger

    Launger Registered

    Feb 14, 2012
    Likes Received:
    Thanks for the replies and interest

    Little update: since I have moved on to a 144hz screen, I have found that using simple vsync (video sync from rF2 config)is the best option.
    It results in the smoothest experience compared to any other sync or framerate limit combination and it appears that at a refresh rate of 144hz, input delay as such is absolutely not noticeable, while it was with 60hz.
    One could also argue that in a racing game...simulator, a stable refresh rate, stable frametime is more desirable than smaller input lag but less consistent one. You can get used to anything, as long as its stable. As always - once you go 144hz you cannot go back.

    Also note that when using vsync, the in game CRTL+C graphics bar shows as full but that doesnt reflect the real GPU usage that you have to observe externally. It just indicates that the frame queue is full, as dictated by the sync.

    EDIT2: Now I an a Freesync user and its all the good bits of vsync with even less input lag and flexibility under lower fps conditions.
    Note that I set the frame limiter at about 140 because if I set it to 144, it might sometimes exceed 144 and that seems to disable freesync for periods.
    Last edited: Jul 31, 2019
  8. Lazza

    Lazza Registered

    Oct 5, 2010
    Likes Received:
    On a slight tangent, I think it's also important to go into your monitor settings and turn off any enhancements - sharpening, contrast modes, whatever. Often the cleanest is called 'gaming' mode, but it's very monitor dependent. You can remove an appreciable amount of input lag by changing from the default settings, in many cases.

    I didn't have any hardware or recording equipment that allowed me to test this in isolation, but when I got 3 identical screens all connected the same way I was able to test the different modes side-by-side - and even in windows, dragging a window up and down on screen (while spanning two screens) I could see the extra lag on the default settings. My screens came with a default medium level of sharpening, plus some contrast enhancement, and switching those off definitely made a difference in testing. I feel like it's helped in game, but I'm wary of imagining such differences.
    C3PO, Emery and Launger like this.
  9. C3PO

    C3PO Member

    Aug 31, 2012
    Likes Received:
    Great thread
    Launger likes this.
  10. marmagas

    marmagas Registered

    Jan 11, 2012
    Likes Received:
    @Launger ,great posts!
    Please finish the last sentence,
    "indicates that the"...
    Launger likes this.
  11. felirrari

    felirrari Registered

    Oct 10, 2014
    Likes Received:
    Great thread, a similar for VR would be appreciated. I translated the first couple of posts to Brazilian Portuguese, can I spread it @Launger?
    Launger likes this.
  12. Launger

    Launger Registered

    Feb 14, 2012
    Likes Received:
    I would be sad if you didnt!
    Corti, felirrari and marmagas like this.
  13. enduser

    enduser Registered

    Feb 27, 2018
    Likes Received:
    BWOAH! At least 20fps boost just like that in dry weather!

    You guys motivated me to do some testing and improve my settings.
    In Low post processing windshield rain drops dont look any good its too dark like oil, and increasing only the rain drop setting in high or max it eats your fps while it looks the same.
    Time scaling x5 gives much better fps than x2 (i think i ve read that before btw).
    Shadows blur in fast and optimum look the same, in my system at least (1050ti) while fast has much better fps (5+).
    I already had medium quality for ai cars (may try low as well), with texture quality at 3 in player.json file, they look excellent to me even when up close.

    One mistake I did is enable AA transparency with multisampling/oversampling x2 in the nvidia panel for some time now to see if its any good, it is terrible makes rf2 look like and old console game, also turned game AA down to 4, dont see any change in image quality (i was trying to get rid of object outlines flickering).
    I see that in official tracks low environment (car body) reflections at low doesnt have an fps impact at all and i enabled it again, much better image quality imho because of the light reflections on the car, trackside object reflections i dont mind that much and its what eats your fps in non optimized mods unfortunately.

    Green bar is full , is that why i have fps glitches?

    FPS limiter is very useful i didnt expect that, big immersion factor for me driving looks much more stable, rf2 without sync out of the box looked somewhat arcady. I chopped off ~15 FPS from the max and it makes a huge difference! , thing is that with GT3 pack i have ~ 25 fps lower ( :confused: !) than OW like f2 and fr35 that i tested and the limiter is useless with that fps drop.

    With all these i m starting to like rf2 much more.

    Extremely helpful thread, thank you very much!
    Last edited: Sep 24, 2019
    ADSTA likes this.
  14. shrapnell

    shrapnell Registered

    Dec 30, 2016
    Likes Received:
    very helpful thread :)
    Thank you!
    Ephraem Sudario likes this.
  15. stonec

    stonec Member

    Jun 19, 2012
    Likes Received:
    Nice that it was of help. I personally didn't know about the time scaling thing, but I'd guess it could be about rendering clouds and the sky that changes more often with x5. Regarding AA, based on an old analysis I did that I can't seem to find now, you can even turn it down to level 3. There is an obvious quality difference in screenshots from levels 1-3, but anything more than that wasn't visible to my eyes. Regarding the green bar, this is for the GPU, so you'd want that to sit at 100% all the time, else you are CPU limited. And yeah, the in-game FPS limiter is great, much better than any of the sync options. I proposed years ago to ISI it should be included in the main menu instead of buried in player.JSON.
    enduser likes this.

Share This Page