FCAT VR: GPU And CPU Performance in Virtual Reality

Characterizing the Behavior of Asynchronous Spacewarp

Naturally, it’s going to become a lot easier for us to include VR data in our graphics card reviews. We’ll also be able to publish performance break-downs of new VR games. But we’re going to use our first spin with FCAT VR to run a handful of experiments and hopefully make some comparisons that haven’t been made before.

First up: what does asynchronous spacewarp’s contribution look like, charted out?

When Oculus added ASW support to its runtime, the company enabled four different rendering modes. They include:

  1. ASW disabled (use the standard rendering mode)
  2. Forced 45 Hz rendering with ASW disabled, most likely resulting in judder
  3. Forced 45 Hz rendering with ASW enabled, highlighting the effect of ASW compared to the previous mode
  4. ASW enabled (ASW automatically turns on and off, depending on whether it’s needed)

For the sake of consistency, we’re sticking with the same 80-second sequence from Chronos at Epic detail settings. The previous page showed Nvidia’s GeForce GTX 970 getting hammered pretty hard by this test, so we’ll drop a GTX 980 into our test system for a bit more performance.

This is what you would have seen prior to the implementation of asynchronous spacewarp. A GeForce GTX 980 is fast enough to deliver 5695 new frames (represented by the green line’s time spent at 11ms), but it drops another 1686 frames when the workload becomes too demanding. Our hardware capture illustrates this with a jump up to 22ms and a dip back to 11ms. Do that over and over in a tight enough interval, and you get the solid-looking blocks of green seen in our frame time chart.

Forcing the application to render at 45 Hz and leaving ASW off yields predicable results: exactly every other frame is dropped. This mode’s utility is tied to what you see on-screen toggling between ASW on and off at 45 Hz.

Switching ASW on and leaving the renderer at 45 Hz gives us a fairly similar frame time over time graph. However, Nvidia’s VR Analyzer tool recognizes that, instead of dropping every other frame, the runtime is filling those gaps with synthesized frames. The difference in perceived smoothness is significant.

Now, depending on the application, ASW can cause its own artifacts (outlined in this Oculus blog post), so you shouldn't look at a chart filled with synthesized frames and assume the experience is indistinguishable from 90 real frames per second. Because there’s a lot of side-scrolling in Chronos, disocclusion becomes an issue as the protagonist runs across a scene. The screenshot on the left is a real frame from our video capture. The one on the right is extrapolated via ASW. The warped shield, discontinuous sword, and partially missing hair are easy enough to see in a still. Less obvious is the warping and bending that goes on behind the character as ASW tries to guess what he’s exposing in the background. These artifacts are certainly preferable to dropped frames, but they’re readily apparent during game play.

A GeForce GTX 980 is clearly faster than the 970, but at no point during our run does it render at 90 FPS. The VR Analyzer tool reports just under 64 unconstrained frames per second, which the hardware capture shows on-screen as 45 FPS. In this example, ASW enabled in its default state looks a lot like ASW enabled with the renderer forced to 45 Hz. A more hand-picked example might have come from a faster card or less taxing quality settings. In either case, we’d see ASW switch off when the runtime determines it’s not needed. Don’t worry, though—we have a lot more data to illustrate this.


MORE: The History Of Virtual Reality


MORE: Oculus Rift Vs. HTC Vive Vs. Playstation VR

Chris Angelini
Chris Angelini is an Editor Emeritus at Tom's Hardware US. He edits hardware reviews and covers high-profile CPU and GPU launches.
  • ingtar33
    no ryzen? just an 8320?
    Reply
  • AndrewJacksonZA
    A really nice article and a great introduction to FCAT VR. Thanks Chris!

    Obvious request that probably everyone will ask of you: please include Ryzen in your tests once you have a sane moment after the hectic launch period. :-)

    Now that that's out the way, I can get to my actual question: I would like to know if "Game A" is available on both the Rift and the Vive, would FCAT VR be able to tell you what, if anything, the performance difference is given the same computer hardware please?

    Please can you also include multi-GPU setups. They can definitely help, depending on the title, e.g.
    https://www.hardocp.com/article/2016/11/30/serious_sam_vr_mgpu_nvidia_gtx_pascal_follow_up/5
    https://www.hardocp.com/article/2016/10/24/serious_sam_vr_mgpu_amd_rx_480_follow_up/

    I found this statement to be very interesting: "it’s possible to illustrate that 11ms isn’t an absolute threshold for rendering new frames at 90 Hz."

    Thank you
    Andrew
    Reply
  • cangelini
    Hi guys,

    Ryzen wasn't in my lab yet when this was written, but I do have plans there ;)

    Andrew, yes, FCAT VR should allow us to test the same title on two different HMDs and compare their performance.

    Multi-GPU is a plan as well, particularly once games begin incorporating better support for it (right now, that's a bit of a problem).
    Reply
  • WhyAreYou
    Thanks, looks good!
    Reply
  • playingwithplato
    Do FCAT VR's measurement algorithms tend to favor NVDIA chipsets? Curious, wonder if AMD will release a similar testing tool to measure buffer store/retrieval and render speed <11ms? Would like to see that applied to en environment with their GPUs.
    Reply
  • ffrgtm
    Fantastic article! I would love to see results with a secondary GPU (non-SLi) dedicated to physics and compare that to the cpu swap tests in AZ Sunshine you've just shown us.
    Reply
  • ffrgtm
    19429997 said:
    Do FCAT VR's measurement algorithms tend to favor NVDIA chipsets? Curious, wonder if AMD will release a similar testing tool to measure buffer store/retrieval and render speed <11ms? Would like to see that applied to en environment with their GPUs.
    A quote from another article on FCAT:

    "While the FCAT VR tool is developed by Nvidia, the company insists it is headset and GPU agnostic, and meant only to capture data. The tool itself doesn’t contain a benchmark; according to the company, the tool logs information directly from the VR runtime."

    I'm inclined to believe Nvidia's claim of brand blindness right now... but if AMD ever manages to put forth some real competition then I don't think we could be blamed for becoming more skeptical. It's hard to forget just how far Nvidia and AMD have gone to skew results in the past.
    Reply
  • AndrewJacksonZA
    19429089 said:
    Andrew, yes, FCAT VR should allow us to test the same title on two different HMDs and compare their performance.

    Multi-GPU is a plan as well, particularly once games begin incorporating better support for it (right now, that's a bit of a problem).
    Thank you.


    One thing that I might've missed in the article: Has Nvidia open-sourced FCAT and FCAT VR so that everyone can see the code, check it for unbiasedness (is that even a word? :-) and help contribute to the program to make it even better?
    Reply
  • cangelini
    Yup, check it out: http://www.geforce.com/whats-new/guides/fcat-vr-download-and-how-to-guide

    There's a download link in there. I'd be curious to hear from any TH readers who want to mess with it as well!
    Reply
  • thinkspeak
    Any chance of doing this again but with stock and OC on the maxwell, pascal and AMD cards? The 980 ti really opens up and they generally overclock well, in some cases exceeding the 1070 which would be useful for those debating an upgrading for VR
    Reply