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

    Joined:
    Feb 14, 2012
    Messages:
    31
    Likes Received:
    17
    Hello

    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
  2. Launger

    Launger Registered

    Joined:
    Feb 14, 2012
    Messages:
    31
    Likes Received:
    17
    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:
    https://www.upload.ee/image/8977938/example.png

    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!

    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 untopimized 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 will 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 unneccesary 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 unneccesary 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. 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: Sep 24, 2018
    nipzon and Greame Champion like this.
  3. Launger

    Launger Registered

    Joined:
    Feb 14, 2012
    Messages:
    31
    Likes Received:
    17
    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.
    I personally use a 144hz monitor so I run vsync as frame limiter, its the same thing. On 144hz, the input lag is not noticable but reduced tearing is.

    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.

    "Rearview_Back_Clip":65,
    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 GB

    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: Nov 7, 2018
    zaphman, Lance Link, nipzon and 2 others like this.
  4. stonec

    stonec Member

    Joined:
    Jun 19, 2012
    Messages:
    2,893
    Likes Received:
    971
    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
    PieterN, nipzon, ceecee and 1 other person like this.
  5. Greame Champion

    Greame Champion Registered

    Joined:
    Sep 20, 2018
    Messages:
    4
    Likes Received:
    1
    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

    Joined:
    Nov 3, 2011
    Messages:
    163
    Likes Received:
    155
    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

    Joined:
    Feb 14, 2012
    Messages:
    31
    Likes Received:
    17
    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
     
  8. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    5,333
    Likes Received:
    1,545
    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.
     
    Emery and Launger like this.

Share This Page