Friday, February 1, 2019

My Adventures in Performance Tuning Fallout 4 VR

TLDR;- FO4VR still takes serious tuning to make it playable even in 2019 even for a beefy rig. FO4VR is a CPU intensive game and sadly it was upgrading to an i9-9900K that made the biggest difference. But tweaking and modding can bring FO4VR to an "acceptable" state of play. 
When I first started playing Fallout 4 VR on my Alienware R4 17 with an external GTX 1080ti,  the stuttering and blurriness was so atrocious, plays would give me severe eyestrain then headaches.  I've invested a significant amount of time trying to bring FO4VR to the level of my heavily modded SkyrimVR visuals but I gave up and tried frantically to stabilize with acceptable graphics.  After I had given up everything(shadows,interior lights,particle effects,grass) to run a decent stable game, I realized I couldn't do any serious settlement building which was a big part of my enjoyment.  So I finally capitulated and built me a new gaming rig.  However I decided to chronicle my performance tuning in detail as I still needed all the fixes even for my beefy rig to load up on 4k textures and to mod further.

The bad performance in this game is a death by a thousand cuts and there is no magic bullet- even an i9-9900K/GTX 1080ti requires compromises and tuning. I still won't run lush tree and grass/ hair physics mods since my reprojection rate can run as high as 30% in my growing settlements. My nightly/weekend tuning exercise fell under 5 categories:
  • Performance Mods- Probably Lights Remover made the most noticeable difference.
  • Fallout 4 VR config/ini - TAA tweaking, lowering shadow quality, particle effect, turning off grass, etc
  • SteamVR Configuration- Supersampling and reprojection options. Before my hardware upgrade, I ended up running "Always On" interleaved projection with  Motion Smoothing to reduce stutters.
  • Existing Hardware Configuration such as overclocking GPU/CPU/DRAM, GPU power options
  • Hardware Upgrades- unfortunately the most expensive yet the most effective
Also the performance problems vary in nature- low fps, stuttering, high load times,  slow and unstable workshop menu. I've put more details below this summary diagram.  Even though my husband thinks this diagram is overkill, I use this diagram to reason more systematically about my tuning. The green to red color scheme indicates performance impact positive to negative:
  • green- improved performance significantly 
  • light green - moderately improved
  • white- setting at neutral (could crank up)
  • yellow - nibbles away at performance
  • orange- degrades performances significantly, but I use the settings to improve immersion
  • red- kills performance and hence avoiding them for the present
  • blue- not sure if it worked as a FPS boost was not seen


Performance Tuning Tools- FPSvr

A good performance tool can more objectively show the impact of your changes and I highly highly recommend FPSvr. Only for 4 bucks you get a GPU/CPU breakdown for each session that can show you where you bottlenecks are. (It's sad that SteamVR fps tool is so unusable.)  You can check  the FPS rates and CPU/GPU usage in-game by tilting up your controller, and at the end of the game session stats are automatically saved to analyze through the included FPSvr Viewer.  Having historical baselines for comparison is huge when you are piling on mods at every play.

Click me to see this fantastic tool for VR session breakdown.

If you click to enlarge, you can see the breakdown of GPU/CPU frame times and usage. I used this to see that the CPU was no longer a bottleneck and the current Intel Turbo Boost (~4.6GHz -~4.9GHz) was more than ample for this game and I didn't need to bother overclocking just yet. In my old rig, couldn't play without overclocking my i7-6820HK.

Yes you can see from the sessions table on the left that I played an unhealthy amount of  FO4VR this week except this wasn't exactly playing- I was performance testing all over the Commonwealth on my new gaming rig obsessively looking at the in-game FPS monitor and checking the newly installed 4K textures.  

In addition, I also use GPU-Z and HWInfo  to monitor usage and temps to see if I can eke out more from the hardware.

Performance Mods

I installed all the standard recommended performance mods but it was only the Lights Remover that I saw a noticeable difference. Admittedly I did not have as much discipline in my early testing without FPSvr and was relying on SteamVR in-game fpsviewer.
    Insignificant Objects Remover, FAR, OVT on their own did not fix my initial stuttering problem. However I leave them.
Mods that I couldn't yet see an improvement:
  • Load Accelerator - I really really wanted this mod to work. I still have slow load times(15-30 seconds) on my beefy rig and m.2 Nvme SSD.  Performance stats show CPU/GPU are just hanging out not working much during this time. Curse you Bethesda- you still found a way to defeat me.  I am giving up on this at the present since I spend the time looking at my FPSvr stats and resting my eyes.  
  • Boston FPS Fix - this curiously increased my FPS in Boston areas and I don't know if I have a conflicting mod that undid this mod's changes or the weather changed.  I need to spend more time retesting.

Increasing Workshop Menu Performance

When you mod in thousands of items to your workshop menu, you are going to start seeing the workshop menu load slower and slower.  There is a fix for pancake involving F4SE which sadly will not work in VR.  Surprisingly turning off the rotation animation in your Fallout4Custom.ini does provide a performance boost and prevented my games from crashing every 10 minutes to about 60. 
[Interface] fWorkshopRotateSpeed=0.00 ;(Default: 1.00) fWorkshopRepeatTime=0.15 ;(Default: 0.25)
I found the solution from this handy reddit thread:
https://www.reddit.com/r/fo4/comments/4panl5/psa_you_can_stop_items_from_rotating_in_the/

Moderating Mod Usage and Avoiding Performance Killers

As soon as I get my build stable, the first thing I do is slap on more mods.  I am greedy when it comes to mods and I know "some" of my performance/stability issues stem from my mod addiction. (The terrible initial performance, blurriness and stuttering was ALL Bethesda since I had it before modding!).  Mods are what I love about Fallout and this habit requires a lot of restraint.

I can not NOT have 4K texture mods so I make a tradeoff and pare everything else down.  I try not use any mods that turn off or mess with precombined meshes no matter how hard I want to get rid of garbage in my settlements. See these explanations from: 
Then there are cases where my own gameplay rather than the mod degrades performance. For instance Sim Settlements is an excellent mod is not a performance killer in itself.  However it does make growing your settlement so easy that I tend to create larger settlements than I normally would if I had to micromanage it all by myself.  Fallout 4 settlement building in general is a performance killer and you can see many youtubers (Oxhorn) talk about how frame rates drop below 30 in their heaviest settlements. That's bearable in the pancake version but totally a no go in VR.

Unfortunately this poorly optimized game may force you to change your gaming behavior. I don't build settlements in a heavy areas like Hangman's Alley or Jamaica Plains and prefer those situated in decent performing areas.

Fallout 4 INI Tweaks, TAA etc.

Tuning TAA-  I tried turning TAA off, using FXAA. FXAA just hurt my eyes and decided I must have TAA. You have to tradeoff between sharpness and sparkling edges vs blurriness- sharper it is more sparkly it gets. Shine like a diamond, shine like a diamond in the sky~~~ My current TAA settings are for 2.0X SS:
fTAAPostSharpen=0.75
fTAASharpen=1.0000
fTAAHighFreq=0.8000
fTAALowFreq=0.5000
fTAAPostOverlay=0.75
I used lower 0.675 for  fTAASharpen/fTAAPostOverlay when I used to run at 1.5X SS.  I adjust shadow settings, ambient occlusion all in-game.

SteamVR Configuration, SS etc.

Managing Reprojection

With my old rig(i7-6820HK/1080ti), pegging at 45 fps with the  "Always On" interleaved projection Application setting was THE only way to reduce stuttering by reducing overall load on the CPU which would run below 80% and have headroom. If I ran without it (with just motion smoothing/ asynchronous projection), as soon as I went into a heavy area like Boston or Sanctuary Hills, CPU would run up to 100% and stuttering would ensue. Yes combat of any kind esp. heavy shootouts suck with interleaved projection but it beats getting a headache. But now even with the i9-9900K, I have motion smoothing on and reprojection rates still range from 5% to 30% depending on how fast I whip around and which area I am in. 

Supersampling 

I manage super sampling strictly from SteamVR Application Menu. I run at SSx200% and I'm surprised how much clearer everything is- esp. when reading text in game.  I know this is the knob I can crank down for more performance if I need to but I am loath to give this up. Supersampling taxes the CPU and GPU both. I could only manage about 1.5x with a i7-6820HK for CPU load but I still used to get the stuttering problem at 1xSS.

Performance Goals and Tradeoffs

In PC gaming, the more you tune and tinker, the less time you leave for gaming. Unfortunately FO4VR is like an old Alfa Romeo.  It is not a game you can simply pay higher components to buy yourself out of performance problems due to the creaking engine and modding.  I still have slow loading times and workshop/settlement problems that are barely utilizing the underlying hardware. Sadly with FO4VR, I find myself  trading off game enjoyment with with fixing performance problems. There's how much time you will spend to get things better and there's also what you have to sacrifice in order to get there.

You might just be trying hard to stabilize your FO4VR and reduce stuttering trying anything possible.  Once you get your system stable and depending on your system's capabilities,  you might have choices on what to cut instead of having to cut as much as possible. In the old rig, I cut out everything- no grass, low shadows, no interior light, no face light, no particle effects, and peg to 45fps which wasn't great during shootouts but this let me start building. But when I heard from some youtubers that they can only play their big settlements  20-30fps, I realized settlement building was a ticking time bomb to unplayability for VR. That's when I bit the bullet to build a new system. 






6 comments:

  1. I've been looking for some decent info on this for ages, this is exactly what I needed. It's really hard to stay immersed in the game when you're constantly reminded of how shitty it runs.

    ReplyDelete
    Replies
    1. Unfortunately fo4vr is one of two rare open world games available in VR. It's really the over modding that is problematic as I can kind of get vanilla running acceptably. But there's no joy in playing a vanilla Bethesda game.

      Delete
  2. +1 for Lights Remover. That one was like night & day. :p
    Another huge one for me was in fallout4custom.ini:

    'fRenderTargetSizeMultiplier=0.6'

    Change that to 0.6 like I typed, then crank up your SS in SteamVR. My understanding is that SteamVR does a better job at handling the Super Sampling. In any case, I was able to bring SteamVR SS up to about 450% without stuttering and it gave me a noticeable improvement.

    ReplyDelete
    Replies
    1. Oh! Thanks for this suggestion. I will try it this weekend. (Nobody ever reads this blog so I'm surprised there are comments here!)

      Delete
  3. Thanks for your blog. I am running 9900ks and 3090fe and the game is clearly cpu limited.

    ReplyDelete
    Replies
    1. Dear Attis, Congratulations on having a 3090! I don't know if I can get my hands on one this year. I was really hoping a 3080/3090 might let me have more polys and shadows back again. The old engine definitely is the limiter esp. with NPCs in settlements. My level 50 build is just gotten bloated so I could slim down with a whole new play. But I really want to keep my settlements.

      Delete