The Sim Side: SPS VR Performance in iRacing – Part 1

Photo of author

The Sim Side: BTR’s Simulation Coverage – Introduction

Start your engines!

Porsche 911 Cup Battle: iRacing

Welcome

PC Gaming commonly brings to mind players furiously twitching a mouse for headshots while hunched over a monitor in a first person shooter. It hasn’t always been this way, far from it actually.

In a sense, PC gaming circa 2020 is returning to its roots, to what the first actual ‘gaming’ PCs were literally built for. In the 1990’s, gaming was commonly seen as the domain of consoles. At that time, gaming on a PC was seen as a frustrating and tedious endeavor, suited only for a select few. However, for those who wanted more: more realism, more immersion, and more complexity than what a Playstation could offer, a PC was the only choice.

Whether patrolling the skies of Korea in the Falcon series, dodging trees and enemy fire in Jane’s Longbow, or going the distance in Papyrus’ Grand Prix Legends, PCs allowed one to actually be a fighter pilot or a dashing F1 driver. It was exciting, involved, and most of all, fun.

The next 20+ years of technical development have resulted in what would have been the most outlandish sci-fi fever dream of those early sim enthusiasts: 3D acceleration, multi-core CPUs, solid state storage, high refresh rate displays, advanced flight controls, immersive force feedback steering wheels, and the holy grail of all – Virtual Reality.

Victory for the Motherland: IL2 Great Battles

Today at home, we can simulate experiences that were once only the purview of governments or wealthy racing teams. Titles like Digital Combat Simulator, IL2 Great Battles, Microsoft Flight Simulator 2020, iRacing, Assetto Corsa Competizione, Elite Dangerous, and now Star Wars: Squadrons allow one to experience excitement and danger unlike anything that has come before. With a modern PC and a VR HMD, you’re truly in the cockpit, enveloped by a whole world. It’s frankly an amazing and near-magical experience; a primary focus that we’d like to share with you, our readers. So sit down, strap in, and hold on.

It’s going to be an exciting ride. Please read on for our first analysis of Nvidia’s Single Pass Stereo (SPS) technology.

An investigation of Nvidia’s Single Pass Stereo (SPS) Technology

Like many sim-racers, after a year or two in the hobby, I eventually grew weary of the inconsistency and mayhem of public lobbies typically found in otherwise respected titles like Assetto Corsa, Project Cars 2, et al. As a resident of r/simracing, the ever-present answer to my annoyance just sat there, waiting: iRacing. I originally avoided iRacing for some time due to perceived issues of high cost, steep learning curve, etc. Yet once I decided to give it a try, I ended up diving in head-first.

Formula Renault 2.0: iRacing

Without a doubt, iRacing brings some of the most challenging and consistent competition possible in Simracing. With some minor setup required, it presents an amazingly realistic depiction of autosport in its various forms, especially in VR. It’s when setting up iRacing for maximum performance in VR (or for any PC game) that one inevitably happens upon spurious guides and agreed-upon ‘facts’ that are, for better or worse, repeated often without substantiation.

One of the most oft-repeated maxims for those wishing to run iRacing in VR with the best possible performance is to “run an Nvidia GPU so you can turn on Single Pass Stereo (SPS).” As the owner of an EVGA GTX 1080 Ti, this presented no issue, so I enabled the little check-box and didn’t give it a second thought.

‘The Box’ – SPS Toggle in iRacing

Fast forward to Fall 2020:

My Oculus Rift S is a good VR headset, and in many ways a solid improvement over the now ‘old’ CV1. For various reasons, however, I’m looking to upgrade. Knowing that my trusty GTX 1080 Ti won’t be able to push the upcoming HP Reverb G2 or Valve Index HMDs to their maximum, I have accepted that my next GPU would be either an Nvidia RTX 3080 or a RTX 3090. Either of these cards will push the aforementioned HMDs to the max and run SPS.

Recently though, some thoughts have begun to nag at me:

Limiting upgrade choices because of one feature seems to be rash. Am I disregarding any of the upcoming AMD RDNA 2 GPUs just because of a checkbox? What if RDNA 2 proves to be a powerful solution and a viable upgrade?! Lastly, just what is Single Pass Stereo, and does it really improve performance?

Nvidia VRWorks Single Pass Stereo Technology

First, one has to understand that SPS is a part of a larger suite of VR-enabling and improving technologies known collectively as VRWorks.

“VRWorks™ is a comprehensive suite of APIs, libraries, and engines that enable application and headset developers to create amazing virtual reality experiences. VRWorks enables a new level of presence by bringing physically realistic visuals, sound, touch interactions, and simulated environments to virtual reality.”

Source: Nvidia

Looking deeper, Nvidia states that Single Pass Stereo (SPS) utilizes a “Simultaneous Multi-Projection architecture” which is found in Pascal-based GPUs. A further evolution of SPS found in both Turing and now Ampere GPUs, is Multi-View Rendering, or MVR. Additionally, it is worth noting that AMD has a similar VR technology suite: LiquidVR. However at the time of this article, iRacing does not explicitly support any SPS-like function on current AMD GPUs.

For the scope of this article, we will focus on Nvidia Pascal-based GPUs and iRacing’s execution of SPS. We anticipate future testing with Turing, Ampere, and with RDNA2.

While conducting research for this article, I happened upon the work of Ilias Kapouranis. In his series of articles, several bits of SPS are clarified and explained. One major takeaway of SPS is found in the following quote:

“Notice that Single Pass Stereo is reducing the processing time for geometry while leaving the processing of the pixels the same. This is the most important thing to remember and it is the source of the frustration of many developers that have implemented/enabled SPS but don’t see any improvements.”

First, let’s look at our test setup and benchmarking methods.

Test Setup and Methods

After some initial data runs, it became apparent that a sample size greater than one was required. Additionally, I wanted to run the test suite on a less powerful system in case SPS had a greater effect on weaker GPUs or CPUs. Fortunately, a fellow iRacer with a similar system to mine volunteered to help. Both test systems run the latest release of Windows 10 Pro (V2004 19041.508) and consist of the following:

Test System #1

  • CPU: AMD Ryzen 9 3900X (12c/24t) – PBO 4.5GHz Boost
  • Motherboard: ASUS ROG Crosshair VII Hero X470 – BIOS 3004
  • Memory: Crucial Ballistix RGB 3600 32GB DDR4 – 2x16GB, dual channel at 3600MHz
  • GPU: EVGA GTX 1080 Ti SC2 – Stock clocks
  • Sound Card: Creative Labs Sound Blaster AE-7
  • SSD: Samsung 970 Evo 1TB NVME M.2
  • PSU: Seasonic Focus+ Gold 850w
  • VR HMD: Oculus Rift S – Quality Setting
  • Sim Gear – Fanatec DD1 Wheelbase, Fanatec Formula V2 Rim, Fanatec CSL ELite LC pedals

Test System #2

  • CPU: AMD Ryzen 7 2700X (8c/16t) – PBO 4.1GHz Boost
  • Motherboard: ASUS ROG Strix B450-F Gaming – BIOS 2301
  • Memory: GSkill TridentZ RGB 3200 16GB DDR4 – 2x8GB, dual channel at 3200MHz
  • GPU: EVGA GTX 1080 Founders Edition – Stock clocks
  • Sound Card: Creative Labs Sound Blaster Z
  • SSD: Western Digital Black SN750 1TB NVME M.2
  • PSU: EVGA SuperNova 850 G2 – 850w
  • VR HMD: Oculus Rift S – Quality Setting
  • Sim Gear – Fanatec CSW v2.5 Wheelbase, Fanatec Formula V2 Rim, Fanatec CSL ELite LC pedals

Test Software (Both Systems)

  • Windows 10 Pro (V2004 19041.508)
  • Nvidia Studio Driver Version 456.38 (9/17/2020)
  • AMD Chipset Driver 2.07.14.327
  • Oculus Software Version 20.0
  • iRacing Version 2.27.0273 (Patched through 10/1/2020)
  • Nvidia FCAT-VR Capture v3.26.0
  • Nvidia FCAT-VR Analysis Beta 18
  • Microsoft Direct X 12 (Patched current 10/1/2020)

Testing Methods (Both Systems)

Both systems are set to identical Nvidia driver settings, as well as use identical settings in iRacing. For visual quality, both machines ran iRacing at 120% supersampling as set through iRacing’s Configuration file found under C:\Users\xxxx\Documents\iRacing.

Nvidia Driver Panel settings: All default except Power Management and Threaded Optimization

It was discovered that replaying a single iRacing race run for benchmark purposes is not an accurate test due to the CPU load being less during a replay than during actual driving. A consistent and repeatable test suite needed to be created to allow a human driver to produce accurate and repeatable results. The test run was completed three times on each system for both SPS On, SPS Off, and again on System #2 for a suite of SPS On/Off tests at a Supersampling Rate of 100%. For each of the possible settings, an average of the three runs is used for comparison purposes.

In total, 18 incident-free runs were recorded by FCAT-VR at a capture length of 420 seconds (seven minutes). Including failed runs due to accidents or AI Drivers behaving badly that are not used, this article’s testing phase required over 3.2 Hours of drive time.

iRacing SPS Data Collection Run parameters (Both Systems)

  • iRacing Graphics Options identical (below)
  • Nvidia FCAT-VR recording started at green light on standing start (420 Seconds)
  • iRacing Ai Racing, Single Race
  • Car – Porsche 911 GT3 Cup (991), Default Setup
  • Track – Watkins Glen (Boot)
  • Weather – 80F, 55% Relative Humidity, Wind North 4mph, No Dynamic sky, No Variations
  • Race – 4 laps, Damage off, Standing Start last place, 9 Opponents 50-80% skill,
  • Track Condition – Starting Track State 50%
  • Time of Day – Noon, 12PM
  • Upon race start, follow AI drivers, overtake to 7th place, and hold

Let’s look at our results.

iRacing Graphics Options Used (Only SPS box changed between tests)

Data Collection Runs

The following runs were made to acquire data:

  • System #1 – SPS On, Super Sampling 120% – Runs 1, 2, 3
  • System #1 – SPS Off, Super Sampling 120% – Runs 4, 5, 6
  • System #2 – SPS On, Super Sampling 120% – Runs 7, 8, 9
  • System #2 – SPS Off, Super Sampling 120% – Runs 10, 11, 12
  • System #2 – SPS On, Super Sampling 100% – Runs 13, 14, 15
  • System #2 – SPS Off, Super Sampling 100% – Runs 16, 17, 18

System #1 – SPS On, Super Sampling 120% – Runs 1, 2, 3

  • Average Delivered FPS 79.87
  • Average Unconstrained FPS 118.35
  • Average Frames Dropped 51.6
  • Average Synth Frames 0
  • Average Frametime 8.45ms
  • Average Worst Frametime 12.63ms

System #1 – SPS Off, Super Sampling 120% – Runs 4, 5, 6

  • Average Delivered FPS 79.89
  • Average Unconstrained FPS 114.81
  • Average Frames Dropped 46.6
  • Average Synth Frames 0
  • Average Frametime 8.71ms
  • Average Worst Frametime 14.01ms

System #2 – SPS On, Super Sampling 120% – Runs 7, 8, 9

  • Average Delivered FPS 67.16
  • Average Unconstrained FPS 81.38
  • Average Frames Dropped 329.33
  • Average Synth Frames 5,062
  • Average Frametime 12.28ms
  • Average Worst Frametime 21.82ms

System #2 – SPS Off, Super Sampling 120% – Runs 10, 11, 12

  • Average Delivered FPS 70.71
  • Average Unconstrained FPS 82.12
  • Average Frames Dropped 339.66
  • Average Synth Frames 3631
  • Average Frametime 12.17ms
  • Average Worst Frametime 23.32ms

System #2 – SPS On, Super Sampling 100% – Runs 13, 14, 15

  • Average Delivered FPS 79.89
  • Average Unconstrained FPS 100.5
  • Average Frames Dropped 46.33
  • Average Synth Frames 0
  • Average Frametime 9.95ms
  • Average Worst Frametime 15.13ms

System #2 – SPS Off, Super Sampling 100% – Runs 16, 17, 18

  • Average Delivered FPS 79.42
  • Average Unconstrained FPS 100.45
  • Average Frames Dropped 61.33
  • Average Synth Frames 179.33
  • Average Frametime 9.95ms
  • Average Worst Frametime 16.73ms

Both Systems – Best Average Captures – Runs 3, 6, 8, 12, 15, 17

This last chart uses the most average/representative capture from the three runs for each setting and system category.

Results

When enabled, SPS netted a 3.08% increase in average unconstrained framerates for system one, while system two saw a 0.9% decrease at SS120, and 0.05% increase at SS100. However, unconstrained framerates in VR are simply a measure of how much excess FPS are being generated (the video card’s performance headroom), with smoothly delivered frames to the headset being the metric that matters. In the case of the Oculus Rift S, the goal is to deliver a constant 80 FPS so as to prevent the HMD from engaging Asynchronous Space Warp and generating synthetic frames.

Average delivered frames for system one showed virtually zero difference. System two seemed to net a slight benefit of approximately 5.29% more delivered frames with SPS disabled at SS120. When unburdened at SS100, system two behaved exactly like system one, with virtually zero difference between SPS On and Off.

Average frametimes for both systems for all test parameters were either identical or within less than 1% regardless of SPS mode.

Lastly, there was a single metric in which SPS displayed a consistent and statistically significant net benefit: Average Worst frametime (ms). Across both systems with both supersampling rates, SPS On lowered the average worst frametime by 10.9%, 6.87%, and 10.6% respectively, for an average reduction of the worst frametime latency of 9.45%. This seems to corroborate the earlier-referenced theories of Ilias Kapouranis regarding Single Pass Stereo, that SPS exists to primarily accelerate scene geometry in VR with little to no effect on actual rendering.

Let’s check out our conclusion.

Conclusion

The question: ‘Does Nvidia’s VRWorks Single Pass Stereo net a tangible benefit for iRacers wishing to maximize their VR enjoyment?’

Under the constraints of the testing variables, not in a practical sense. Evidently Single Pass Stereo does reduce the geometry workload with a tangible gain of 9.45% faster in worst-frametimes. However with all of the other work being done by iRacing, the GPU and VR software/HMD, this ends up a marginal gain lost in the process noise. Where the virtual rubber meets the road are the smooth delivery of frames to your HMD. In this regard, there is a near-zero difference between SPS On or Off.

As long as one has a fast CPU, a modern GPU, and adequate fast storage, one can and will enjoy iRacing in VR as long as hardware-appropriate settings are chosen, regardless of SPS status or video card brand. In the end, I’m not yet sure if the GPU that replaces my GTX 1080 Ti will be from Nvidia or AMD, but it’s nice to know I have a choice that doesn’t depend on using SPS.

– When the GPU vertex (geometry) load is average, or normal, as shown in this article’s data, the impact of SPS is negligible.

11-10-2020 Update:

Shortly after this article was published, we received a massive amount of positive feedback from our readership, and around the internet with encouragement to continue testing. This lead to to Part II.

Part II Conclusion

“It has become clear that our first article’s test conditions did not take full advantage of all that iRacing could offer graphically. Under much more rigorous conditions, we have revisited the original question:

‘Does NVIDIA’s VRWorks™ Single Pass Stereo net a tangible benefit for iRacers wishing to maximize their VR performance?’

Yes. If you have a modern NVIDIA video card and the option to use SPS with a compatible VR HMD, check that box! Under high-load, geometrically complex situations, SPS functions to ensure a smoother VR experience. Given identical high-load conditions, video cards that do not enable SPS require more raw performance or lesser settings. With that said, the SPS impact is variable with tests confirming a 0 to 33% boost in delivered VR framerate. SPS is not a cure-all and it will not make up for poorly configured systems or settings.

SPS is most useful when unconstrained framerates are above yet close to the HMD’s design spec. It prevents the system from running under the HMD’s design framerate and dropping into ASW or reprojection. In the final analysis, SPS is a relevant feature that adds indisputable value to NVIDIA GPUs if software allows its use.”

System #1

I look forward to helping expand BTR’s coverage of VR & Simulation. Lastly, for the iRacer who tolerated hours of my messing around with his PC (System #2), and causing him to miss his nightly race … Thanks Dad!

The son of a Naval Aviator, Sean grew up on air stations around the world. A United States Marine Corps Veteran, he served as helicopter Crew Chief and Mechanic from the mid ’90s through the early ’00s.

Upon reentering the civilian world, Sean attended and graduated from the University of North Carolina becoming a Geoscientist with several published works on Climate Change and the deep ocean.

Throughout it all, Sean has been a non-stop PC Gamer: Equal parts Flight sim addict, and focused Sim-Racer. He fervently believes in the transformative and transportive power of Virtual Reality: The ability to BE someone else, somewhere else; and that we’re just getting started.

Comments are closed.