Help with fps lock for more headroom

Hi Guys, I’m looking for your opinion with locking my frames.
3080 10G (need to upgrade)
7800x3D Water cooled
DDR5 32 6000
Quest 2 with Link Cable

in Oculus software set to 90hz and max resolution (1.5)
in ODT my only config is FOV to 0.7 0.7 and ASW disabled.

sim is working in mid range config (TAA with 130 render)
TLOD 100-200
clouds High
Nvidia reflex ON+BOOST

I’m able to run kind of smooth flights with force 45 AWS disabled option, but I can see very high usage 97-98 GPU in heavy scenarios like Los Angeles and Prague low altitude flights. I can see some stutters and FPS goes up and down (41-46).
I tired to lock frames to 30 with Riva Tuner, but when I do so, the performance drop is huge, nothing is smooth, black bars, jumping all over. also did try with 72hz in oculus software and force 45 AWS disabled to achieve 36FPS but it perform the same as locked 30 (nothing is smooth, black bars, jumping all over)
I read that some people can achieve really smooth with 30 locked, so with this I can use the extra headroom for more SS maybe?
Thanks!

Hi,

If you’re locking to 30 fps, you may also have better luck by enabling Oculus 30Hz ASW mode. Do you prefer not to use ASW?

Alternatively, 72Hz or 80Hz mode in Virtual Desktop with SSW enabled may be an option. VD recently received an update and the SSW has been considerably improved.

Cheers

Hi
How you use the 30Hz ASW? its not an ODT option.
Im using Link, but I really thinking about moving to VD

No, it’s not visible via ODT.

There are 2 ways to use it:

  1. Oculus Command Line Interface (CLI)
  2. by using a separate application called Oculus Tray Tool.

To use the CLI method, simply navigate to the Oculus folder on your PC (usually): C:\Program Files\Oculus\Support\oculus-diagnostics\

There you will find an exe file called OculusDebugToolCLI.exe
Double click to run. A command prompt will appear and you can type in the following to enable 30Hz mode:

  • server:asw.Clock30

To disable ASW, simply type in the following:

  • server:asw.Off

This can be done prior to, or during your VR session. Before I switched to VD, I even created some batch files and linked them to Voice Attack so I could speak and my PC would run the batch file to implement ASW at 45Hz, 30Hz, or no ASW at all, depending on my needs. A copy of one of my batch files is shown below when I use 80Hz mode on my Quest 2:


ECHO ON
echo server:asw.Clock45 > NORMAL40.txt
echo service set-pixels-per-display-pixel-override 1.0 >> NORMAL40.txt
echo service set-use-fov-stencil false >> NORMAL40.txt
echo exit >> NORMAL40.txt
call “C:\Program Files\Oculus\Support\oculus-diagnostics\OculusDebugToolCLI.exe” -f “%~dp0\NORMAL40.txt”
del NORMAL40.txt

call “C:\Program Files\OpenXR-Toolkit\companion.exe” -frame-throttling 54

EXIT


I ended up switching to VD as it provided me with a better overall result in most situations.

Cheers,

@DeltaFlyer44
Thank you for this, I was actually tired the CLI this one time with 30Hz ASW and remember it was still a mess, both low performance and glass effects, so I gave up.
I will give it another try though, but ASW is really a killer for me with its side effects.
I even followed someone who advice to use side quest tool with 60Hz in it, and 45 ASW disabled. it was really bad.

No worries.

Yep, I found the higher my frame rate, including sufficient overhead, the better my ASW results were (and less wobbling). VD calls it SSW. I now can’t fly without it.

As I mentioned, I switched to VD and use the 10bit codec with my Quest 2. I like it because it has less colour banding during night flying. I also use DLSS Balanced and run at 4250 override resolution. Very sharp and clear and smoother fps compared to TAA for me.

sounds interesting!
what GPU you have? and with what tool you override resolution ?
Thanks!

I’m currently using a 4090 but had a 3070 before that. My 3070 was good but only had 8GB VRAM which quickly filled up.

The app is called: OpenXR Toolkit.

Has its own GitHub page. Should be the first search result on Google.

I do use OpenXR Toolkit, but I’m able to reach only 2600 at DLSS balanced on the X value.
beside the fact the each time I change the resolution there, I need to restart the link connection (if only reset VR session, everything get super slow and lag, jumpy)
I think the highest I can go is 2600, above that I get horrible performance, Im not sure if its due to GPU limitation or another thing.
4250 looks like a not possible option for me, unless something is wrong?

Using Link or Air Link I think the easiest way to lock fps is to use the keyboard command ctrl+num2 (numeric keyboard 2 not top row 2). You can do this on the fly btw.

This is forced 45fps with ASW = off. Actually it’s 1/2 your selected refresh rate. In my case I set my Q3 and QPro/rtx4090 to 80Hz refresh rate and the res slider full right, so I end up with 40fps fixed, without ASW, and this works very well for me.

If you use the Oculus Tray Tool (OTT) you can setup a msfs game profile to do this as well. I’ve use OTT for +5yrs starting with a Rift cv1 and mainly use it to set super sampling and ASW modes. It’s still a very handy free addon, for me anyway.

Lots of ways to skin the same cat. So, up to you to find what works best for you imho.

@SunlitAlpaca141
I tried 80Hz with 45 AWS disabled, from some reason its really bad, nothing is smooth, black bars, jumping all over..
I’m not sure why its working with 90Hz and 45 AWS disabled option. the same happens to me when I lock to 60Hz with side quest, and using 45 AWS disabled option to lock to 30. disaster, and I don’t know why.

I’m not sure why 80Hz would cause this. I don’t find this to be the case and while 90Hz works fine, I find I get a little more headroom with 80Hz. Maybe something to do with you mucking around with Sidequest settings, which shouldn’t be necessary.

Also, maybe mucking around with Oculus Debug Tool (ODT) settings, like for example, codec’s and/or dynamic bitrates. For Link, set ODT to all defaults except distortion = low and encoding bitrate = 500mbps. No need to set codec or dynamic anything. Link will automatically use h264 and this will give you good clarity at 500mbps and lower latency.

@SunlitAlpaca141
side quest only used when tried the 60Hz and 30 fps trick,
my ODT was all default but ASW and FOV to 0.7 0.7,
after saw your reply I set the distortion to low and encoding bitrate to 500, I also saw in many places to set Encoding width 3664 and Link sharpening to quality,
all those added much more clarity now! I will try 80Hz later again.

Mate, I wouldn’t bother with those fov settings with your high end PC. Just leave them at default. Also, there hasn’t been any need for encoding widths for over 6 months now. As long as you set your meta link pc app res slider full right you will get the best encoding widths automatically. With msfs, if you have enough headroom you can add 1.20 super sampling (pixel density) in ODT. I do this (and add 1.2x SS) with OTT with a msfs game profile. This extra SS will allow you to use dlss/balanced and get as good cockpit clarity as you can get with TAA, plus a lot smoother performance as well.

With my similar high end PC (i913900k/rtx4090/32Gb 6400ram) I don’t bother to use OpenXR Toolkit or any of the current dynamic tlod/olold mods/hacks. None of these are necessary for those with a rtx4080/4090 imho. All they do is add another level of unnecessary complexity.

If you want to see my best Link settings ou can refer to my earlier post;

Anyway, I don’t think I can add anything else so I’ll sign off now. Good luck mate, bye, and cheers.

2 Likes

I recommend using 4128 for Encode Resolution Width on Quest 3 to improve clarity and it does really work. Improved clarity on my Q3 dramatically compared to 0 (default value) and i don’t see any FPS impact whatsoever.

Adding encoding width has no effect with my Q3. If you don’t see any diference in fps then that should be a clue. If you want better clarity and have headroom, add some super sampling. So, probably just placebo but if you think it helps go for it I guess. Easy to test out for yourself. Just make sure you restart oculus runtime when making those encoding width changes.