VR Performance Tweaks & Tips

Discussion in 'General Discussion' started by Thomas Jansen, Apr 19, 2019.

  1. TurboHenk

    TurboHenk New Member

    Joined:
    Oct 26, 2024
    Ratings:
    +1 / 0 / -0
    How can I run this game at the Pimax Crystal with OpenXR? When I install the latest opencomposite DLL then I get an instant crash of the exe.

    When I use SteamVR then I need to lower my resolution to something below 80%, because 100% render resolution (4315x5100px) does NOT launch VR AT ALL. So I cannot play this game at all.

    Where can I find a step by step instruction to launch this game in OpenXR with 1.0 render resolution on the Pimax Crystal? (this is the most noob question that I've EVER asked, because normally I get everything working easilly with googling things, but no matter what I try, I cannot get this to work with 1.0 resolution, only lower ~75% resolution works)
     
  2. MJFox

    MJFox New Member

    Joined:
    Sep 5, 2024
    Ratings:
    +2 / 0 / -0
    I have a Pimax Crystal Light and it works for me when I launch the game with -VR 2.0
     
  3. kaneda06

    kaneda06 New Member

    Joined:
    Jun 25, 2020
    Ratings:
    +0 / 0 / -0
    hello everyone!
    I'm a little desperate :/ lol

    I can't use RRE without SteamVR on two PCs, one with a Pimax Crystal and the other with a Q3 :/
    I followed tutorial for quest 3 downloaded the dll file to replace steamapi.dll in x64

    in the faulty Oculus openxr app

    I dll the opencomposit.ini file and pasted it into the opencomposite folder with the right values inside

    I launch RRE in Steam by choosing launch in vr it loads on the screen raceroom appears but in the helmet it remains stuck on the RRE loading window of the quest as

    for pimax error message :(
     
    • Agree Agree x 1
  4. ThisisRends

    ThisisRends New Member

    Joined:
    Sep 6, 2024
    Ratings:
    +0 / 0 / -0
    Tip for people with upgraded older PCs:
    My Fractal Node 202 itx case has a PCIE3 Riser card.
    When i updated the PC to a new Mainboard a Ryzen 5 5600 and a RTX 4060 i had to switch the Mainboard to use PCIE3 instead of PCIE4 to get it working.

    While playing in non VR i got drops of -30fps on some corners of different tracks (SPA first corner or Hockenheim second corner. Framerate dropped from 180 to 150.
    In VR the framerate dropped from 70+ to 50.

    i then switched to a PCIE4 riser cable set the Mainboard to PCIE4 and all the framerate drops are gone!

    At first i thought the switch from PCIE3 toPCIE4 didn’t make a difference. Neither 3DMark nor Cyperpunk2077 showed a difference in Performance. But in Raceroom it makes the Framerate much more stable..
    Oh and i think i got lower Latency in Virtual Desktop. I‘m not hundert percent sure yet but I remember 50-60ms latency before and now it’s in the 40s.
     
    • Informative Informative x 1
  5. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +616 / 0 / -0
    It makes sense that this makes a big difference in RR, as the main downside of our old engine is that the CPU and GPU have to do a lot of communication, which all goes through the PCIe lanes
     
    • Like Like x 1
  6. Robert B

    Robert B New Member

    Joined:
    Nov 9, 2024
    Ratings:
    +0 / 0 / -0
    I came across this thread trying to improve performance with my Pimax 8KX (my AMD 5950X and RTX 4090 handle just about everything else quite well). I was getting CPU frametime spikes every 500ms, and I discovered that MSI Afterburner was causing them. Closing it led to much smoother results. I run 4092x2584 per eye, and I can hold 90fps hotlapping with no other cars on track, and never drop below 60fps with a grid of 20 cars. I also set pre-rendered frames to max and low-latency mode off for a little more smoothness.

    I'm running my 4090 in PCIe 4.0 x8 mode, which has never had an impact in any benchmarks. It would be interesting to see what happens in x16 mode.
     
  7. Andi Goodwin

    Andi Goodwin Moderator Beta tester

    Joined:
    Jan 16, 2015
    Ratings:
    +814 / 0 / -0
    id switch to what the card is designed to do the x16 slot

    Andi
     
  8. Robert B

    Robert B New Member

    Joined:
    Nov 9, 2024
    Ratings:
    +0 / 0 / -0
    It's in an x16 slot. The motherboard is an AMD X570 chipset, which bifurcates the x16 PCIe bus into two x8s if the second PCIe slot is occupied, and then has an additional NVMe slot, which, if occupied, further bifurcates the second x8 into two x4s. Right now I have my 4090 in Slot0, a 4K capture card in Slot1 (through a slim riser cable underneath the GPU), and an NVMe SSD running at full speed in that extra slot.

    Before I configured my PC this way, I ran a bunch of VR and 4K-8K games and benchmarks in both x16 and x8 modes and saw no difference except in 3DMark's synthetic PCIe VRAM access test. This included 3DMark VRMark Blue Room (future) at 6K per eye, 3DMark Time Spy and Port Royal at 8K (the latter with and without RT), and Unigine Superposition "VR Maximum" and "VR Future" at multiple resolutions 4K per eye and up. I also tested MSFS2020 and DCS, both of which are CPU-bound on a 4090, and saw no appreciable difference.

    The closest tests I could find online involved measuring PCIe 3.0 vs 4.0, and found a tiny effect at 4K, often within the testing variance. There was a bigger effect at 1080p.

    RaceRoom is giving me GPU frametimes of 2.0ms or less even at 5K per eye. So it's not just CPU-bound, but even in VR it's basically like a 1080p game that could run at 500 fps with a fast enough CPU. The CPU is clearly doing the heavy lifting graphically, in contrast to most sims where it's doing relatively more "sim" stuff.

    With Assetto Corsa, AMS2, rF2, and iRacing able to render at 5K per eye at 90Hz, I'm not in a rush to reconfigure my system or upgrade my motherboard, RAM, and CPU. (Without a new AM5 mobo, I'd have to sacrifice a lot of multi-core performance for a marginal uplift in a few games with an X3D CPU.)
     
    • Informative Informative x 1
  9. Andi Goodwin

    Andi Goodwin Moderator Beta tester

    Joined:
    Jan 16, 2015
    Ratings:
    +814 / 0 / -0
  10. Robert B

    Robert B New Member

    Joined:
    Nov 9, 2024
    Ratings:
    +0 / 0 / -0
    I just tested RRE with my GPU in x16 mode. There was maybe a little bit more frametime consistency in practice mode with no other cars on track (fewer drops below 80fps), but not enough to make a big difference. In an AI race, the framerate still had lows of around 60 and went up to the high 80s when other cars weren't nearby.

    My Virtual Desktop latency was identical at 22ms (two frames).
     
    • Informative Informative x 1
  11. TurboHenk

    TurboHenk New Member

    Joined:
    Oct 26, 2024
    Ratings:
    +1 / 0 / -0
    Exactly the same issues here. The game DOESN'T work on the Pimax Crystal it's native resolution. It only starts when you lower the resolution in SteamVR. All the OpenComposite settings of the OP here don't work with the Pimax Crystal.
     
  12. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +616 / 0 / -0
    • Informative Informative x 1
    • Wonderful Wonderful x 1
  13. RupturedLung

    RupturedLung New Member

    Joined:
    Jul 8, 2022
    Ratings:
    +0 / 0 / -0
    It is fixed thank you so much! I still get a slight ghosting effect on the cars when they go past me. But this is 10X better than before so appreciate you fixed this.
     
  14. No_tread_left

    No_tread_left Member

    Joined:
    Nov 26, 2024
    Ratings:
    +12 / 0 / -0
    Damn.... I'm was planning to use a quest 2 vr headset for racing but reading through this section I may give that idea up. Sounds very complicated for a grease monkey like me to do.
     
  15. glockmane

    glockmane New Member

    Joined:
    Apr 30, 2019
    Ratings:
    +0 / 0 / -0
    Hey guys.. Maybe a dumb question, but what do I need except RaceRoom (custom openvr_api.dll and opencomposite.ini already applied) and Quest 3 to play in VR? Do I need something like Immersed or VirtualDisplay?
     
  16. nolive721

    nolive721 Well-Known Member

    Joined:
    Dec 2, 2018
    Ratings:
    +84 / 0 / -0
    Nothing, you are good to go either via wired link or meta air link
     
  17. glockmane

    glockmane New Member

    Joined:
    Apr 30, 2019
    Ratings:
    +0 / 0 / -0
    Got it running with Air Link but shouldn't I see
    Yeah, just discovered I have to launch it from Steam to get the VR Option!

    And it works, but in Game Settings I can only set the Resolution according to my PC Monitor (2560x1440), is this correct (no extra Monitor for the Quest)?
     
  18. nolive721

    nolive721 Well-Known Member

    Joined:
    Dec 2, 2018
    Ratings:
    +84 / 0 / -0
    doesn't matter much but we usually set it much lower than the desktop monitor we use.our PC with.
    For example, I have a 4K panel but I set the resolution in Game at like 720p, again it doesn't matter for VR.whats important is the resolution you will set in the Meta app and the bitrate in Link/Airlink options you will use with your Q3

    I seldom use my Q2 these days as I moved to a PSVR2, but this is how your starting point could be for your Q3 using Link cable.
    I hear the Q3 allows bitrate up to 960 if memory is correct.

    If you prefer wireless then 200Mbps is the limit to be set in this Oculus Debug tool

    upload_2025-1-5_12-31-20.png
     
  19. Le Noob

    Le Noob New Member

    Joined:
    Nov 27, 2024
    Ratings:
    +0 / 0 / -0
    I use a Quest 3. The Oculus Debug Tool is a must to get the most out of the headset. Note that many of the settings will not be remembered by the tool and/or headset between Link sessions. You have to re-open the app and check settings every time you start a link session.

    - Key settings:
    • Pixels Per Display Pixel Override: Basically super sampling and so will increases GPU load a lot. If you have the performance headroom, a value of 1.2 or 1.3 goes a long way to improve image sharpness. Some games have their own setting in-game to achieve the same.
    • FOV-Tangent Multiplier: Allows you to reduce FOV, which in turn also significantly improves performance. Normally not something you'd want to do in most games, but in the context of sim racing, you can use it to "simulate" a race helmet view and while also getting a huge performance boost. I run 0.9; 0.35.
    • (PC) Asynchronous Spacewarp: Very important to disable this, especially if your performance headroom is low. Basically, if your FPS drops below the target refresh rate (i.e. 90Hz), your FPS will drop to 45fps and use some sort of frame generation to reach the target. It is very noticeable when this happens and distracts from the experience.
    • Encode Bitrate (Mbps): You can go up to 960 with the link cable and the Quest 3, but I found the connection could get unstable (image can start "skipping") when going too high for little gain in quality. To be tested on your end, but 600-700 is a good start.
    • Link Sharpening: Disabled is blurry. Normal is sharpest. Quality is somewhere in-between. Use Normal.
    • Visible HUD: Set this to Performance when you need to test your settings to know how much performance headroom you have.

      My full settings with the headset set to max resolution and 90hz. PC specs are 9800x3D + 4070 Ti. Typically, I will have 30-50% performance headroom when hot lapping, in big part thanks to the FOV reduction.
    • upload_2025-1-5_19-18-56.png

     
  20. Dimitar Yankov

    Dimitar Yankov Member

    Joined:
    Sep 13, 2024
    Ratings:
    +5 / 0 / -0
    Hello! I'm new to VR. Just like everyone else here I was excited to see how RRE will perform in VR. I've read most of this tread and I saw a lot of posts people struggling with way better hardware than mine:

    RTX 3060 12GB
    i5-14600k
    32GB of Ram
    nVME Gen4
    PSVR2 Headset (native resolution is 2000x2040)

    The PSVR2 SteamVR’s default resolution at 100% is 3400x3468 - 1.7x the native (it's explained in the GT7 pdf later). I decided to locked it at 90hz. I managed to have almost smooth experience most of the time around Imola with 10 visible cars, but everything in-game video was at low or off, MSAA off and only rear view mirrors at low to be able to use them, when racing. The clarity was quite good, but the Aliazing was way too much for my liking breaking completely the experience for me.

    I'm using fpsVR app to monitor the performance and with the settings above the CPU graph was already exceeding the recommended 11.1ms, jumping around 15-20ms. It was able to keep 90fps with average between 80-85 FPS, but these sudden spikes at race starts and during it, were quite annoying for me. The other problem was I also wanted to use at least x2 MSAA to get rid of some Aliazing, but turning this on was causing tearing / stuttering.... raising the CPU latency to +20ms, which was quite bad VR experience for me.

    I did some research and find out an old post in MSFS forum explaining how "Throttling Behavior" works and how we can benefit from it, when our hardware is not good enough or we are bottleneck by a component.

    Post 1:
    My 2070 SUPER VR settings and suggestions (Index - SteamVR) - User Support Hub / Virtual Reality (VR) - Microsoft Flight Simulator Forums

    Post 2: explaining it further
    SteamVR 1.16.1 and -Valve INDEX observation - User Support Hub / Virtual Reality (VR) - Microsoft Flight Simulator Forums

    I also find this reddit post

    1.7x render resolution is recommended for SteamVR : r/PSVR2onPC (reddit.com)

    pointing to a .pdf powerpoint by Polyphony how GT7 VR rendering is done.

    https://s3.amazonaws.com/gran-turismo.com/pdi_publications/SIGGRAPH2023_RenderingTechBehindGT7.pdf

    Now, all those setting, resolution and stuff started to makes more sense to me. According to the GT7 devs Reprojection in Simracing is not a bad word and is not quite noticeable as it is in fast FPS shooters. GT7 devs use it and the game (IMHO) is probably one of the best looking and running VR racing game out there, right now. Running smooth and nice on low power PS5, having similar video power as my PC does.

    TLDR: What I did was
    in Windows
    - I locked my FPS to 90 in the nVidia Control panel
    - I activated Hardware Accelerated GPU Scheduling in the Windows Graphic Settings based on the info from this reddit post What does Hardware Accelerated GPU Scheduling do and should I turn it on? : r/pcmasterrace (reddit.com) so the stress on the CPU particularly in RRE to be less.

    in SteamVR
    Video Settings
    - I select refresh rate 90hz
    - I turn off Motion Smoothing
    - I switch Auto Resolution to Custom and I keep the default for PSVR2 which is 100% 3400x3468 - 1.7x the native. It will be different if you use another brand VR set, but keep it at 100%.
    - I turn off Advance Supersampeling Filter (you can reddit it for more info)

    in Per-Application Video Settings for RRE
    - I disabled Motion Smoothing (though it's already disabled in the main menu)
    - I keep the same resolution 100% 3400x3468
    - For Throttle Behavior I use fixed. For it's first slider, I lowered it from 90 to 45. This way my video will be able to constantly produce super stable 45 FPS and the rest up to 90FPS are going to be reprojected. For the second slider I keep it at 0. I tried raising it to 11.1ms, but it causes delays/lag for me, when paired this 45 FPS for the first slider. Raise this only, if you have to, as it's suggested by the author in the MSFS post.

    After starting the game with these SteamVR settings and the in-game setting I mentioned earlier the latency for my CPU was half, down to around 7-8ms, and also the load % for both GPU and CPU was also around half down, giving me butter smooth experience even during race starts, during the whole race with A.Is, when there are cars around me. This also give me the headroom to raise up the in-game video settings to make RRE more eye candy and pleasant to look at, so now I'm able to use:

    x4 MSAA
    Rear View Mirrors at High
    Visible cars 15 (will test it with more my goal is 20)
    Track Details at High
    Car Details at High
    ... I have't tested the rest.

    ....my CPU latency times are in acceptable range around 13-15ms with all these in-game video settings and I can enjoy the VR experience in RRE even more, without bothering for performance, tearing / stuttering and so on...

    Quick Note: You can benefit from this method, if you have low or mid range hardware as I do, which is already struggling, not able to deliver consistent and stable FPS with the resolution and settings you would like to run or you are bottleneck (for example by the CPU) which I believe is also the case with the RRE.

    If you have top tier hardware running smooth without any problems it will always be the best possible scenario for the best possible VR experience to run the game without reprojection, but it won't hurt to try it out and see, if there is any difference for you.

    Happy RRE VR racing!
    Hope it helps for some of you, cya on track.....
     
    • Informative Informative x 3
    Last edited: Jan 17, 2025