Jump to content

Getting the stutters under control in VR.


TED

Recommended Posts

Ive had a bit too much time on my hands recently and with two gpus to play with Ive become a bit like a dog with a bone on this subject. I am running through all sorts of settings and tuning to find out what is affecting vr performance and what is not and having some successes. 

Right now i am focusing on the 3080 with the g2. In general performance is excellent in SP but my goal is to get good stutter free performance in MP with motion vector on, motion smoothing, MSAA x 2 at least, AF x 16, native resolution in the G2 (2160 x 2160 per eye or slightly more in SVR) which is around 52%. 

With that said, i see a number of areas to focus on. Using FPSVR I could see that i am getting random and unpredictable spikes in the CPU which then causes frame times to increase. The first thing I did was to go in an adjust CPU affinity. I used Process Lasso for this, but it can be easily done through task manager as well. I have a Ryzen 7 3800xt, so 8 cores. I dedicated 12 to 15 purely for DCS.exe and 1 to 11 for everything else, with nothing except dcs on 12 to 15. Everything with WMR, Steam Vr and all other process on 1 to 11. This immediately seemed to stabilize things and massively reduced the stuttering for me. 

Next up I made sure my CPU was over locked to 4300mhz and checked the RAM (32gb ddr4 3600mhz cl14) was also on XMP profile to 3600mhz. 

The final stage was in Nvidia control panel. As I am running motion vector, my VR FPS will be limited anyway to 45fps, so I set the frame rate limit in NVCP to 45, so the system doesn’t try to generate more. At the same time I allow triple buffering and pre/rendered frames to 4. 

So far with these settings on my first tests in MP Syria server I was able to hugely increase the stability, even increasing MSAA to x4 and upping SteamVR resolution per eye. I am going to continue to test and tweak, but i am starting to believe a lot can be done with some simple tweaking without needing mods and shaders. I’d be interested to know anyone’s thoughts on this 

My next test will be to see if i can get some similar results with the 6900XT installed. I’m having a constant back and forth between 3080 and 6900xt and i am pretty sure I have not worked out yet how to get the most out of the 6900. It’s higher VRAM should give me more leeway but i dont think previously i had worked out how to effectively utilize this. My feeling is that if tuned correctly it should in theory be able to out perform the 3080, although until now my experience has been the opposite with the 3080 being the better vr performer. I suspect this is my own settings and will continue to test this. 


Edited by TED
Link to comment
Share on other sites

Just for reference, 100% steamvr resolution is native for the G2, the additional resolution is used to eliminate distortion in the display. In my experience, halving the resulting doesn't equate to halving the frametime though.

To improve clarity try turning on MFAA as you're using MSAA. If you're bouncing on the 22ms/45fps threshold for motion smoothing then you can try running 60hz which gives a massive jump in GPU headroom. Visually I see no difference from 60 to 90.

Might give process lasso a test, the Ryzen master software will test you which cores are fastest so I guess stick those to DCS and WMR.

I can reliably get 16-18ms frametimes on Syria with good detail and clarity as an empty mission, obviously any simulation AI starts chewing into CPU frametimes which I think will directly affect the vr performance. Vulkan should allow the CPU bottleneck to be lifted and let the simulation run more AI stuff without affecting the renderer so much.

  • Thanks 1

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

51 minutes ago, TED said:

The final stage was in Nvidia control panel. As I am running motion vector, my VR FPS will be limited anyway to 45fps, so I set the frame rate limit in NVCP to 45, so the system doesn’t try to generate more. At the same time I allow triple buffering and pre/rendered frames to 4. 

Is this the 'Background Application Max Frame Rate' or the 'Max Frame Rate' setting in the Nvidia Control Panel or both that you set at 45fps?

i9 14900K / 64GB / RTX 4090 / Varjo Aero / Winwing Orion2 + F15EX / Virpil Wrbrd + Alpha Stick + ACE pedals

Link to comment
Share on other sites

13 minutes ago, Brainfreeze said:

Is this the 'Background Application Max Frame Rate' or the 'Max Frame Rate' setting in the Nvidia Control Panel or both that you set at 45fps?

The nvidia control panel setting. 

Link to comment
Share on other sites

2 hours ago, edmuss said:

Just for reference, 100% steamvr resolution is native for the G2, the additional resolution is used to eliminate distortion in the display. In my experience, halving the resulting doesn't equate to halving the frametime though.

To improve clarity try turning on MFAA as you're using MSAA. If you're bouncing on the 22ms/45fps threshold for motion smoothing then you can try running 60hz which gives a massive jump in GPU headroom. Visually I see no difference from 60 to 90.

Might give process lasso a test, the Ryzen master software will test you which cores are fastest so I guess stick those to DCS and WMR.

I can reliably get 16-18ms frametimes on Syria with good detail and clarity as an empty mission, obviously any simulation AI starts chewing into CPU frametimes which I think will directly affect the vr performance. Vulkan should allow the CPU bottleneck to be lifted and let the simulation run more AI stuff without affecting the renderer so much.

You are absolutely right. I’d gotten a bit confused about all the svr resolution stuff. I just set to 100% and with all the previous tuning I mentioned. I flew an sp mission in Syria in a10c all low level and not a single stutter (until I got shot down by an sam)! 
it seems as if syncing all the FPS settings ,might actually be a large part of this puzzle.

I’ll try in mp servers and see if it shows potential. 

Link to comment
Share on other sites

Indeed, I think it's more finesse than brute force at the moment.

Think back to arma3, on release hardware capability, a gtx titan (the generation's  3090ti equivalent halo card) couldn't best 60fps with an i7 3770k. Yet I coupled a gtx 660 with a 4.7ghz i5 2500k and 2133mhz ddr3 and was getting well above that. Then you'd get on a MP server and all of the clients were limited to the same framerate as the server, normally about 35fps and below depending on how much AI was running. The faster ram unlocked about 30% performance instantly.

DCS isn't massively taxing graphically, but the way that the engine is written just cannot leverage modern hardware fully. It will come though 🙂

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

Well….I continued with the theme of matching FPS in nvcp and dcs and tested in mp.it was a significant improvement. Still some stutters but much less noticeable. The next thing I noticed is that the USB port for the g2 is causing spikes. I can’t believe it went this long before I noticed that. 
 

Maintaining the same idea i now tried again the 6900xt, which I had started to previously get a bit frustrated with. It’s higher ram and vram should allow more. So I did the exact same amd software. Everything off except limiting the FPS to 45. I added anti-lag. Initially results were so-so. I turned off mv and motion smoothing, set the amd preset tune to default…and bang…perfect. As good if not better than the 3080. So all this is leading me to believe there is a lot more to be done with tuning the system rather than dcs. Yes dcs will benefit from a better engine, but I have now just experienced really good stable 45 FPS and low frame times with 100% resolution in a g2 on both gpus. 
 

So anyone struggling with the stutters don’t give up. A few simple processes seem to be able to make a really big difference. 

  • Like 1
Link to comment
Share on other sites

As I'm running 60hz I wonder if perhaps I should try limiting to 30fps in DCS via nvcpl. I can pull over 60fps over much of Caucasus to match the refresh rate but heavy usage areas like damascus will drop to 45-50. Less usage means less heat generated means potentially higher GPU boost, could be interesting? That said I think the motion smoothing would then have more work to do which may increase CPU load?

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

1 hour ago, TED said:

Well….I continued with the theme of matching FPS in nvcp and dcs and tested in mp.it was a significant improvement. Still some stutters but much less noticeable. The next thing I noticed is that the USB port for the g2 is causing spikes. I can’t believe it went this long before I noticed that. 
 

Maintaining the same idea i now tried again the 6900xt, which I had started to previously get a bit frustrated with. It’s higher ram and vram should allow more. So I did the exact same amd software. Everything off except limiting the FPS to 45. I added anti-lag. Initially results were so-so. I turned off mv and motion smoothing, set the amd preset tune to default…and bang…perfect. As good if not better than the 3080. So all this is leading me to believe there is a lot more to be done with tuning the system rather than dcs. Yes dcs will benefit from a better engine, but I have now just experienced really good stable 45 FPS and low frame times with 100% resolution in a g2 on both gpus. 
 

So anyone struggling with the stutters don’t give up. A few simple processes seem to be able to make a really big difference. 

I have a 6800xt... so all you did with your 6900xt was set default in amd software and turn off motion vector in steamvr?

Link to comment
Share on other sites

3070FE, fortunately I seem to be largely immune to refresh rate and motion sickness so can run VR to the bare bones 🙂

Over refresh rate is obviously smoother in VR but 30fps motion smoothed is more than acceptable for me.

If I set up a quick mission in Syria with medium forces across the board I get around 14-16ms GPU and 18-20ms CPU. Obviously this is dependant on location but my GPU times don't typically go much higher. Normal CPU times without AI is about 8ms.

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

24 minutes ago, Roller25 said:

I have a 6800xt... so all you did with your 6900xt was set default in amd software and turn off motion vector in steamvr?

Yes as well as all the other steps I described. Setting cpu affinity so only dcs is on 2 cores and nothing else. Basically tuning everything for 45fps then I don’t need mv or motion smoothing. Try the steps i detailed in the previous posts and see if it helps. Your 6800xt should work just as well. I just flew in a populated Syria mp server and it was fantastic. The best vr experience I think I’ve had on dcs. Very smooth, very clear. 
 

when I get some time I might write it all out in a guide format but it’s pretty straightforward. Tune the cpu, overclock as much as is safe. Tune the ram so I get max out of it. Cpu core affinity. All for same for both gpus.

in amd everything off except anti-lag. Set max frame rate to 45. All rest default for now. 
 

in dcs turn down forest vis and detail, grass and clutter, rest all on high textures and vis. Msaa x4 , AF x 16. 
 

in svr with amd motion smoothing off

wmr with amd mv off. Dx11 forced on. 
 

try all that and see how u get on.


Edited by TED
Link to comment
Share on other sites

31 minutes ago, TED said:

Yes as well as all the other steps I described. Setting cpu affinity so only dcs is on 2 cores and nothing else. Basically tuning everything for 45fps then I don’t need mv or motion smoothing. Try the steps i detailed in the previous posts and see if it helps. Your 6800xt should work just as well. I just flew in a populated Syria mp server and it was fantastic. The best vr experience I think I’ve had on dcs. Very smooth, very clear. 
 

when I get some time I might write it all out in a guide format but it’s pretty straightforward. Tune the cpu, overclock as much as is safe. Tune the ram so I get max out of it. Cpu core affinity. All for same for both gpus.

in amd everything off except anti-lag. Set max frame rate to 45. All rest default for now. 
 

in dcs turn down forest vis and detail, grass and clutter, rest all on high textures and vis. Msaa x4 , AF x 16. 
 

in svr with amd motion smoothing off

wmr with amd mv off. Dx11 forced on. 
 

try all that and see how u get on.

 

I will give that a go.. usually forcing dx11 mode results in a very blurry display though..

Link to comment
Share on other sites

My tech skills are limited to what I can find on Google rather than hard core experience but I have been chiselling away at my Q2 settings.  I find the Ocullus software manages things pretty well now and no longer use OTT. I have MFAA on in NVCP and all looked pretty good apart from the stutters. My DCS is on an M2 drive and I only have 16gb ram (32gb arrived today 😁).

I noticed my stutters coincided with massive access to my Barracuda disk drive i.e. 100% load. I therefore moved the page file to the M2 Drive and that has stopped the stutters for me. 

Rest of PC is i7 11,700 and RTX3070.

  • Like 1
Link to comment
Share on other sites

Sorry to just barge in here with this but...

"DCS isn't massively taxing graphically"

Well it is :)...  It's just that it's in very specific ways.  One of those ways is DX12 draw calls.  It saturates the DX12 draw call pipeline.  There's no workaround for that exactly (ahem Vulkan) but as you've found there are plenty of optimizations for smoothness :).  Good work it seems I've yet to try your ideas myself but I will.  Just thought I'd throw that out there.

  • Like 1

Nvidia RTX3080 (HP Reverb), AMD 3800x

Asus Prime X570P, 64GB G-Skill RipJaw 3600

Saitek X-65F and Fanatec Club-Sport Pedals (Using VJoy and Gremlin to remap Throttle and Clutch into a Rudder axis)

Link to comment
Share on other sites

I created another thread specifically with the steps I've been trying and using and will try to update it as I learn more but so far it's working very well and now I to the very small % tuning. One thing I did find I needed to go back on was the cpu tuming. Dcs definitely works better on dedicated cores not all cores, and from those cores you should try to remove as many other heavy processes as possible, but not all. I created some problems when I removed everything as a lot of system processes for some reason need to be on all cores. However separating dcs, steamvr, wmr and any other programs/appa running in the background that are not critical to the system is the most effective way. I'd actually start with just separating dcs, wmr, voice attack and see if that works. After that u can fine tune and take one process at a time off the dcs cores and make sure it doesn't affect overall system stability. 

Link to comment
Share on other sites

  • 2 weeks later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...