Friday, September 16, 2016

Virtual Reality Experiences - PC Prep

When the consumer versions of both the Oculus Rift and HTC Vive were announced, I was pleasantly surprised to find they had similar minimum requirements:

So, it seemed as though I'd be set if I decided to splash out on a head mounted display (HMD)... Until Frontier Studios made a rather disconcerting announcement regarding their own requirements for playing Elite Dangerous in VR. The minimum specs they described were:

Oof, an i7 and a 980?!? I wonder if there's any leeway there?

"We are passionate about VR and Elite Dangerous is leading the way in cutting edge VR software development. This is what we consider to be a minimum spec to have a good experience on forthcoming consumer VR headsets."

OK, well maybe not.

This placed me in a bit of a dilemma: I really wanted to be able to play Elite in VR, but I wouldn't be able to afford to upgrade my GPU as well as buying a VR kit. After a brief period of personal crisis, I realised I would be able to squeeze some more performance out of my current system by attempting to overclock it. I never managed to get around to this when I originally built my main rig, Icarus, because of perceived thermal issues (something I have since resolved, and the potential subject of another blog post).

Overclocking and Benchmarking

I won't go into detail of my overclocking adventures, but suffice to say I spent a lot of time attempting trying to get my CPU to 4.3Ghz, but I couldn't quite achieve that, so I ended up with a 4.2Ghz overclock that seems stable. That's still a decent jump up from the stock 3.8GHz of the 4760K. The GPU was a tad easier; I managed to get the GPU clock of my MSI GTX 970 Gaming 4G from the stock 1253MHz boost clock to 1504MHz without too much trouble, while the memory clock I managed to get to 3.5GHz.

I actually think my 970 could clock much higher; the temperature of the GPU was still within acceptable limits (the maximum it reached during load tests was 75°C), but I appeared to be hitting voltage and power limits. This was despite me already having set the over-voltage as high as I can in MSI Afterburner. Check out this screen cap of the Afterburner profiling utility:

If you look at the power, volt and OV max limits, you can see them flapping between 0 and 1. The power limit is reached when the TDP of the card is hit and the GPU has to throttle, while the voltage and OV max limits are for when the voltage limit is reached. Now, I can't increase the voltage limit any further with Afterburner, nor is it possible to tweak the power limit through utilities like this. Instead, I'll need to consider the use of vBIOS modding... Something for the future maybe?

So, I'd achieved a stable overclock for both my CPU and graphics card, but what would I use to test how much performance I'd rung out of my hardware. In the past, I've used a combination of synthetic and real world tests to benchmark, but being in a bit of a hurry, I decided to keep it simple this time. I decided to use Unigine Valley, which is successor to the Unigine Heaven benchmark, but I also just become aware of a utility that Valve had released that I thought would be perfect to use as well: the SteamVR Performance Test. This runs a small section of Valve's own VR title, The Lab, and provides a score out of 11, based on how well your system can render the VR content at 90 frames-per-second (the current optimum frame-rate for consuming VR). It's also able to provide feedback based on the results, suggesting possible upgrades to your system.

As usual, I ran each benchmark 5 times at stock and again when the system was overclocked. Then I took the median of each set of results and used that to compare the before and after configurations.

Performance Comparison

So, as you can see from the below graphs, I managed to get an increase in performance of at least 10% in the two tests, which isn't bad for a few hours work. I'd love to see what I could achieve with a vBIOS mod increasing the power and voltage limits.

The most encouraging factor here is that even at stock settings, my system hardly had any frames rendered at less than the optimum 90fps, and once overclocked it never missed this target at all. However, the real question was how this would translate to VR performance in Elite: Dangerous. Something I couldn't really achieve without a VR headset... But that's another story!