Help requested: apparently I should be getting better VR performance
-
Hi recently tried BMS in VR and I’m not getting great fps. Sometimes around 30 fps on the ground, around 50 in the air. According to others with my specs I should get much better:
AMD Ryzen 5800X, NVidia RTX 4080, 32 GB RAM, HP Reverb G1 (not G2).
Config Settings:
set g_bEnvironmentMapping 1
set g_bWaterEnvironmentMapping 1
set g_bShadowMapping 1
set g_bVRNoPresent 1
set g_bVRParallelRenderThread 0
set g_fVRResolution 1.0All settings default except I turned off parallel rendering because I find the judder unpleasant. Also turned off the display on the monitor as I don’t need it. Tried turning environment mapping off, seemed to make no real difference. Turning up the resolution to 1.3: looks great but no real effect on fps.
What I’m seeing is that my VR fps (as measured with Alt+C F) is perfectly correlated with the Cmds. 15,000 Cmds = 30 fps, 10,000 Cmds = 45 fps, 5000 Cmds = 60 fps.
Would appreciate any help people can share to get better fps without too much loss of quality.
-
Ahh, saw your post on the one place that shall not be mentioned Thanks for giving BMS a pretty fair shake and welcome here! Agreed, your case is a little strange…
In general the first thing BMS team would recommend is:
set g_bEnvironmentMapping 0
set g_bWaterEnvironmentMapping 0
set g_bShadowMapping 0
And then pick and choose which one you want back on as you get your performance levels you want.Also I would check your anti-aliasing isn’t set so high that you are running out of VRAM(either in BMS setup menu or your driver overrides). Here’s a good video right out the gate that could be describing your issue:
Are you running Win11?
-
@Snake122 Thanks for the response. Yeah so I tried turning everything off as you’ve suggested. That nets me an extra 5-7 fps or so, both on the ground and in the air. Not nothing but also not massive, particularly given it does then look much less good. FPS is still determined entirely by Cmds (and the ratios of Cmds to fps is about the same) but the number of Cmds required is just a little bit lower.
All in-game settings are default: so anti-aliasing is set to 1. VRAM memory use is 9.3 of 32.0 Gb, so very low. GPU is barely being stretched at all, around 20% utilisation.
I am indeed running Windows 11.
-
@tomshackell I don’t know what is diff G1 vs G2 … I don’t fly VR so take everything I say with grain of salt.
There have been some specific performance issues with Win11 and the Reverb G2 … if you search here you’ll find more info. TL/DR, running this magic spell seemed to be of great benefit to some.
logman stop HolographicShell -ets
If that helps … go back to square zero. Try enabling g_bVRParallelRenderThread again to see if that helps. It should be a pretty straight tradeoff of fps (throughput) vs latency… and your 5800X should have plenty of cores to make use of it.
-
@tomshackell That’s why I asked if Win11 as @airtex2019 mentions.
As the BMS VR tips here say:
Use those lines in a command line (CMD) terminal (works well with HP G2):
@echo off
logman stop HolographicShell -ets"So it may not just be G2 users that are seeing that help the issue. Probably will apply to you too with a G1 since it is a WMR headset. I run Win10 still so haven’t played with this.
-
@Snake122 The
logmon stop HolographicShell
command didn’t appear to do anything.The big deal here seems to be
g_bVRParallelRenderThread
. If I set that to 1 I can get much better fps: 50-60 on the ground and 90 in the air. Without it it’s hard to get really great fps in game. However, the trade off is that if fps does drop below 90 withg_bVRParallelRenderThread
turned on then it introduces a very unpleasant juddering effect. This isn’t a great trade-off as I’m pretty sensitive to that judder: it’s quite headache inducing. I have pretty solid VR legs and most things don’t bother me: but that judder really does.Overall I think it’s better for me with
g_bVRParallelRenderThread
turned off: the judder is just too unpleasant. Which means 45 fps on the ground and 60 in the air is about as good as you can do: with shadows & stuff turned off. That’s playable but does look pretty bad. If I turned shadows and environment mapping on that’s 30ish on the ground and 50 in the air: also not that pleasant.I guess it’s early days for VR in BMS. Hopefully the devs can find a way to remove the judder from
g_bVRParallelRenderThread
. It should be possible in theory: DCS uses parallel rendering now since MT and that does not have the same judder problems. If the BMS devs can achieve that I think VR in BMS would be amazing. Right now for me it’s a bit of a Hobson’s choice: it’s not a great experience however you cut it. -
@tomshackell it’s definitely a “known issue” … Seifer (bms dev) writes about it here
https://forum.falcon-bms.com/topic/23978/vr-testing-and-findings/15for some folks, it seems to be related to Win11 and WMR / Virtual Desktop stuff
in general, if you can find a way to shut down anything else that’s interacting with VR or GPU … it’s going to help, not hurt. (I think you mentioned 9+ Gb of VRAM usage … that doesn’t sound like BMS alone)
-
@airtex2019 Yup that does perfectly describe it. You rotate your head and the image “stutters” round: exactly what I’m experiencing.
As I say it’s early days for VR in BMS, I’m sure the devs will work it out eventually
-
Copying the Reddit reply here:
Hi and thanx for your honest review!
I’m pretty much surprised to hear about performance issues with your HW. Here with a 12700K and 3090 I’m getting pretty good FPS in 4.37 with a G2. I haven’t tested 4.37 THAT much here because I’m mostly developing, but the few times I did in VR I had FPS close to 90. I can also tell you that VR with my HW is fine even on 4.38 with New terrain engine, PBR and more (Fine I mean 30-75 FPS mostly, which is flyable). BTW I’m also sensitive to jitter but here Parallel thread is OK with the headset (SteamVR I think) smoothing on as well, it’s better performance and I can handle it.
However, 2 things come to mind regarding your report:
-
CPU may make a difference - I’m saying that because I have a friend in BMS team with AMD CPU and 7900 AMD GPU and he had severe issues in VR, I don’t know if the CPU or the GPU were the problem for him but that’s suspicious. I wonder how your system will work with a Intel MB/CPU instead… I have a feeling it will be much better.
-
Wait for 4.37.3 that should be a performance boost for models rendering and easy some load off the CPU (Basically shift many operations done on 3D models from the CPU to the GPU, I think it will help VR, especially at many draw calls situations).
Cheers!
-
-
@I-Hawk said in Help requested: apparently I should be getting better VR performance:
- Wait for 4.37.3 that should be a performance boost for models rendering and easy some load off the CPU (Basically shift many operations done on 3D models from the CPU to the GPU, I think it will help VR, especially at many draw calls situations).
Something is happening in my pants which I cannot ignore.
-
@I-Hawk
AFAIK AMD RX 7x00 GPUs had driver-related issues with VR performance. It is supposed to be resolved with latest ones. In general RNA3 gpus are a bit disappointing, a pity because RDNA2/RX 6xx0 were darn good. -
@Flow32 said:
Something is happening in my pants which I cannot ignore.
That’s what I said the last time I shat myself.
-
@Aragorn said in Help requested: apparently I should be getting better VR performance:
@Flow32 said:
Something is happening in my pants which I cannot ignore.
That’s what I said the last time I shat myself.
Pulling Gs can have surprising consequences.
-
I’m on a 5900X, 32GB RAM, RTX 3080, and a Reverb G2. I’m on Win10.
On the benchmark TE, first package, sitting on the runway, I get 30-35fps on the ground.I wonder if anyone is getting any better performance?
Having said that, I don’t mind so much as obviously this is a worse-case scenario and it’s not very likely I’ll be flying in this setup very often.
-
@Atlas that may not be that bad. I’m running an i5-13600KF, 32GB DDR4 3200, Reverb G2, and a 4090. I get 51-52 fps in that benchmark TE with the graphics maxed and fpsVR is telling me it’s CPU bottle necked (it gives both GPU and CPU frametimes which is honestly more intuitive than BMS’s numbers sometimes). So as @I-Hawk is saying, U3 may see more performance increases as it shifts those calls to the GPU since I’m CPU bound in the benchmark TE. The rest of the time I usually have plenty of headroom performance wise and rarely see my framerates drop below 70.
fpsVR maybe something you and @tomshackell may want to look at to hunt down the bottleneck, it’s only $4USD and is really helpful as a performance monitor, especially for VR.
-
@Snake122 Yep, got that running as well, and I think it was maybe -1 or -2 fps lower than what the BMS framecounter was saying. I’ll have a better look next time to see if I’m CPU- or GPU-bound.
Would be interesting to see what U3 brings then. I may run some tests before upgrading to U3 to see if there’s any significant benefit.