VR Performance Tweaks & Tips

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

  1. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    As many will have experienced, RaceRoom is very harsh on performance in VR, mostly because of the old engine hammering the CPU. I will collect some of the tweaks I learned about and explain them here, so everyone can hopefully benefit from them as well. I am very happy with the performance I have now, as I can keep 90fps with basically all the eye candy that is noticeable in VR on (even shadows!), even on race starts with 20 cars visible. This is on my 4770K @ 4.4GHz and a 1080ti, but I am mostly CPU bottlenecked, so any better CPUs will probably give even better performance, even with a slightly lesser GPU.

    OpenComposite (Oculus and Windows 8/10 only)

    In search of better performance in RaceRoom in VR I stumbled upon this thread. The instructions were a bit scattered but I gave it a try and it gave me a HUGE performance boost, made the performance more consistent and reduced loading times. OpenComposite is an awesome project by Campbell Suter which replaces SteamVR as the 'translator' for games that do not have native Oculus support. Unfortunately, at this time the main project does not work with RaceRoom, but @The Iron Wolf did an amazing job at adapting the project to work with RaceRoom, which he published as his own fork. He does not use Oculus anymore, so he will not be able to support the project anymore in case it stops working, but so far 3 Betatesters with different hardware tried it and worked for all of us, so hopefully it will work for most people with an Oculus headset.

    How to install:
    • Go to the x64 folder in the RaceRoom directory (Normally in C:\Program Files (x86)\Steam\steamapps\common\raceroom racing experience\Game\x64)
    • I would recommend renaming or backing up openvr_api.dll as this is going to be replaced with the opencomposite DLL, so if it does not work you can restore the original file to use SteamVR again.
    • Download the latest v1.0.0.0 DLL file from the adapted project, it will be in a zip together with opencomposite.ini , which is required to set the options for OpenComposite. The download link there doesn't work anymore, so here is a link to the files from a betatester: https://forum.kw-studios.com/index.php?threads/vr-performance-tweaks-tips.13068/page-38#post-249527
    • Extract these files to the x64 folder in the RaceRoom directory, if you start RaceRoom in VR now, it should no longer start SteamVR and will most likely crash, as the included opencomposite.ini file is not correct for RaceRoom yet.
    • Edit the opencomposite.ini file to the following (make sure it is formatted on different lines and not all on one line):
      supersampleRatio=1.0
      enableLayers=true
      enableCubemap=false
      threePartSubmit=true
      useViewportStencil=true
      dx10Mode=true


      You can adjust the supersampleRatio to whatever you want, but it seemed to cause worse performance than setting the supersampling in the Oculusdebugtool myself. You can test this for yourself though. If you want to match your SteamVR supersampling setting they are slightly different: 1.5 here would be equivalent to 1.5x1.5=2.25 or 225% in SteamVR, so you can calculate what the equivalent setting would be for you.
    • RaceRoom should now launch in VR without SteamVR launching. This will only work for the 64-bit version of the game.
    Some Remarks:
    • If SteamVR is still launching with RaceRoom, make sure you have extracted the files into the correct 'x64' folder and not the 'Game' folder.
    • If the game instantly crashes, doublecheck you have set the correct values in opencomposite.ini. If that is all correct, you could try the other DLL file in the project. If that does not work either, you can either try to play with the settings in opencomposite.ini to see if your system maybe works with other settings. Otherwise, you can revert back to using SteamVR by replacing the DLL file with the backup of the original one you made. You could try asking the original OpenComposite devs for some suggestions, but as this is not fully their work it's a long shot.
    • Make sure you have done the room setup in Oculus Home, otherwise it's possible that OpenComposite will not work properly.
    • As this is not officially supported for RaceRoom, there is a good chance the files will be overwritten when updating or repairing the game and any update might also cause it to stop working, but since I have only used it for a week now, I don't know yet. Similarly, there is no guarantee it works for everyone and that it improves performance for everyone, so make sure to test for yourself and feel free to report back!

    Recommended Graphics Settings

    (Removed my old recommendations as they do not really apply to the 2024 graphics update anymore)
     
    • Like Like x 18
    • Informative Informative x 4
    Last edited: Sep 6, 2024
  2. neil

    neil Member

    Joined:
    Sep 18, 2016
    Ratings:
    +10 / 0 / -0
    Thanks will give this a shot tomorrow.
     
    • Like Like x 1
  3. Heath

    Heath Well-Known Member

    Joined:
    Nov 5, 2016
    Ratings:
    +136 / 0 / -0
    Firstly Thankyou @Thomas Jansen for setting it out so that we could understand the process :D . Secondly after doing some testing I found with the modification I was back to my usual FPS even when using webhub...So yes, definitely helps performance. :), Side note: Had better performance after turning off shadow split.
     
    • Like Like x 1
    Last edited: Apr 19, 2019
  4. Bull Shark

    Bull Shark Well-Known Member

    Joined:
    Mar 14, 2019
    Ratings:
    +162 / 0 / -0
    Thanks for your time on this.. although I always enjoy R3E in VR as it is without the above. Nevertheless thanks and I will try this as well.
     
    • Like Like x 1
  5. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    Interesting, for me shadow split on gives slightly better performance, which it isn’t supposed to do, so I might be the odd one out
     
  6. FormelLMS

    FormelLMS Well-Known Member

    Joined:
    Apr 8, 2015
    Ratings:
    +229 / 0 / -0
    Great thread. Using this since the first days of the iron wolfes fork. ItsI working very well and I want to do anything to get rid of SteamVR.

    All users have to do a proper room setup in Oculus Home before using open OVR. Without this step it could be, that you can not see the menu.
     
    • Like Like x 1
  7. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    Will add that to the remarks, thanks!
     
    • Like Like x 1
  8. Bull Shark

    Bull Shark Well-Known Member

    Joined:
    Mar 14, 2019
    Ratings:
    +162 / 0 / -0
    Since I have a triple setup, I have some problems finding a good spot for my Rift sensors. Normally they where placed on my desk left and right at my screen. Good room scale setup etc. Now with a triple setup I sit much closer to my screens and therefor the sensors have a hard time to track me (the rift) as I’m more or less hidden behind my screens. How do you guys solve this? I now have the two sensors placed on the ground just a bit further away than my screens. The sensors are both pointing in my head direction.
    This works good for racing but for roomscale it is a disaster setup of course.
     
  9. FormelLMS

    FormelLMS Well-Known Member

    Joined:
    Apr 8, 2015
    Ratings:
    +229 / 0 / -0
    I have mine on the wall in two meters height. No problems, that they don't see me.
     
    • Like Like x 1
  10. FormelLMS

    FormelLMS Well-Known Member

    Joined:
    Apr 8, 2015
    Ratings:
    +229 / 0 / -0
    @Thomas Jansen I will definitely try your graphics settings, because I'm unable to use shadows even on lowest, because my 5 ghz cpu seems to be unable to do it with 90 FPS.

    In which circuit are you testing? Doing it with 40 AI GT3s on the VLN Nordschleife. No ASW even at standing start from position 16 (do this to have a proper benchmark) but no shadows. Setting shad
     
  11. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    How many cars do you have visible? That is the biggest performance hit you can have. For example on Silverstone, my frametimes are about 7ms with 30 AI on when none of them are in view, but if I have 30 cars visible and all of them in view, or in the mirror the frametimes go up to 13-14ms, so almost double!
     
  12. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    Updated the original post with an initial settings breakdown :D
     
    • Winner Winner x 1
  13. FormelLMS

    FormelLMS Well-Known Member

    Joined:
    Apr 8, 2015
    Ratings:
    +229 / 0 / -0
    I have 18 cars visible, because it's an immersion breaker with to less visible cars.
     
  14. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    I've tested it quickly on VLN with 40 AI, I get around 60-70fps right at the start, but it climbs back up pretty quickly as the field spreads out. This is pretty much the biggest challenge you can throw at it, so it's up to you if you really think you need 90 fps in this case. You could always turn some settings down when you know you are going to do a very demanding combination.
     
    • Like Like x 1
  15. FormelLMS

    FormelLMS Well-Known Member

    Joined:
    Apr 8, 2015
    Ratings:
    +229 / 0 / -0
    Yes, this is the biggest stone you can throw at it, but Spa after the first curve with 30 DTM 2016 cars is it, too. Or Shanghai on the second straight. There are a few things to benchmark the system. :)
     
  16. Bull Shark

    Bull Shark Well-Known Member

    Joined:
    Mar 14, 2019
    Ratings:
    +162 / 0 / -0
    Big bummer is that you can’t choose which version you want to use. I would like to see an option to have multiple settings. Eg, one for use with triple setup and one for use with VR, I now constantly have to alter the settings.
     
  17. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +596 / 0 / -0
    This is one thing I was going to add to this post later, you can copy the graphics settings xml file and just rename the one you are not using at that moment. Still some effort, but a lot less than clicking through all your settings :D
     
    • Like Like x 2
    • Agree Agree x 1
  18. Bull Shark

    Bull Shark Well-Known Member

    Joined:
    Mar 14, 2019
    Ratings:
    +162 / 0 / -0
    Ah yes I was already looking for the gfx settings file.
    Renaming can be done with a batch file.. :D
     
  19. The Iron Wolf

    The Iron Wolf Well-Known Member

    Joined:
    Mar 18, 2015
    Ratings:
    +130 / 0 / -0
    @Thomas Jansen just wanted to tell you great write-up on per graphical setting impact. This is very useful

    Are you disabling ASW when you measure perf impact?
     
    • Like Like x 1
  20. Bull Shark

    Bull Shark Well-Known Member

    Joined:
    Mar 14, 2019
    Ratings:
    +162 / 0 / -0
    R3E is one of the few games which perform nice with ASW on. Pcars for example does not feel nice with a fps of 45 in VR. R3E plays good with 45fps.