AMD & NVIDIA GPU VR Performance: Serious Sam VR:TLH

If battling Gnaars, Kamikaze dudes, Crazy Frogs, Kleers, Lava Monsters, and Bomb Spawners is on your list of things you want to do more of, then Serious Sam VR: The Last Hope might be right up your alley. We see how AMD and NVIDIA do with providing a great VR experience in SSVR.


How We Got Our Results

Our regular readers know that we are not "benchmark" guys and like to validate PC gaming hardware by actually using it for gaming. I know, call us crazy...and some folks still do. Today’s results reflect exactly that, real world gameplay.

For our "GPU-intensive" IQ settings, I used the following overall presets pictured below. Once you get into SSVR's IQ control panel, you will find a huge amount of knobs and sliders for tweaking the IQ. You can easily push the fidelity beyond what the TITAN X can handle. With our High/High/High/None overall Performance menu presets, I found the graphics quality to be very good and allowed you to target the bad guys even when they are extremely far away from you on the map. Scaling GPU Speed back to Medium seemed to greatly limit my ability to reach out and touch a bad guy at a distance.

Article Image

As you can see above, you can toggle Interleaved Reprojection to be turned on all the time. We have mentioned in our previous reviews where sometimes a game is going in and out of Reprojection can be more distracting than if it was simply turned on all the time. Apparently Croteam has seen this as well and given us an option to simply turn it on. We did have an issue with the game having Reprojection being turned on even though it was not tickboxed. Turning it on and off again seemed to solve this issue. If you are seeing Reprojection and you think you should not, you might turn toggling this on and then back off.

I played through the first eight maps on two planets and watched the GPU Render Time while gaming. Overall, these maps had extremely similar performance profiles, except the last. The 8th map was a bit more intensive, but getting a solid playthrough, even on "Easy" was damn near impossible, at least for me. Also, you cannot save to a particular map, so playing the 8th map required playing the three previous, which would greatly hamper efficient testing. I mention this about the 8th map to point out that the playthrough we are showing here today is not the most GPU-intensive map in the game.

I used gameplay on the first Earth map on "Hard" for our playthrough that we collected data from. It is a bit shorter than I like for testing, about 2.5 to 3 mintues, but we did get very comparable runthroughs. Comparing runthroughs on the same GPU, we would see a variance of about 0.3ms from run to run.

After we got to testing Serious Sam VR, Croteam did push out a Beta version that we had access to. It had this note attached:

Improved performance with LiquidVR on AMD driver 16.10.

This is actually the first instance I have seen a game dev mention LiquidVR. Given that, I made sure we used the Beta version of SSVR for all our testing, on both AMD and NVIDIA GPUs.

On Thursday, AMD pushed out a new driver, v16.10.2 Hotfix, and this is in its driver notes.

Support For: Serious Samآ™ VR Early Access

Given that, I went back and retested our AMD GPUs with this new driver. I saw no discernible differences in our runthough data. We still would see our previous 0.3ms deviations between runs and I could tell no difference in the data or gaming experience between v16.10.1 and v16.10.2.

We used our "best" average GPU Render Time runthroughs for all our data as we usually do.

Every Graph is the "Same"

Our data collected here is probably as close to "the same" as anything we have done in our VR Review series yet. The waves of bad guys coming to get you are very much the same every playthrough. The only big difference is how long it takes you to kill all of them. If we died, we started over. The graphed data does NOT show menu usage, it is gameplay only, and I will discuss that a bit more on the summary page.

Every VR Framerate is the Same, 45 or 90, unless You Count Reprojection

You have likely heard this already. VR headsets, and I will be talking particularly about Vive technology here, although Rift does the "same thing" when looking at the big picture, all run at 90 frames per second. Your first thought is probably, "Why?" This simple answer is that if they do not run at 90fps, you will get motion sickness, and blow chunks. Seriously. But why would you not just run at 89fps instead of dropping to 45fps? Good question. The answer is tearing. Tearing frames is totally unacceptable in a VR game, whereas we may put up with it without consequence on the desktop. So there are some "V-sync" things at work with these new head-mounted displays that leaves us with 90fps, or 45fps if the hardware can’t keep up, and 45fps leaves you with lunch on your shoes, so something had to be done.

Both Vive and Rift have technologies to combat the dreaded 45fps. (I have been told by several people that if you get drunk before you play, that 45fps is a lot more acceptable to users, but I have not tried this. Please send me mail.) Rift’s is Timewarp, and Vive’s is Reprojection. For the use of this article we are going to call these technologies the "same," however these are not. But they do solve the same common problem in much the same manner.

When your Vive is not able to keep a 90fps pace while you are playing a VR game, Reprojection technology kicks in and tells your hardware to render at 45fps and let Steam VR tech fill in every other frame. Pretty slick eh? So in effect, your eyes are still seeing 90fps and therefore you should not vomit on your shoes. The caveat is that Reprojection technologies do have some drawbacks as artifacting can be present in your game. I think Reprojection for the Vive is likely to be a game to game thing. Remember how I said "Reprojection technologies" just above there? That is because there are several ways of doing Reprojection, so your mileage may vary from game to game.

In our graphing, and I will remind you of this as we move along, when you see the red line at 1, that mean NO Reprojection is happening. When you see the red line at 2, that means that the system is using Reprojection. You could say Reprojection is "bad," but it is certainly not as bad as 45fps. Trust me. We will call Reprojection "not ideal" instead of give it a bad rap as it is surely there to help us out.

Dropped Frames

On our graphs you will also see a yellow line, this tells you how many dropped frames there were. There will be some argument about how this is shown, because when I show you 200 dropped frame across an X axis that has 50,000 data points on it, we simply cannot draw the lines small enough to actually represent how small of an event this really is. So on some graphs, you will see a lot of yellow and think, "holy crap, this GPU was sucking bad" when it comes to rendering VR frames. Well, the way it is graphed can make it look much, much, much worse than it is. This is why we give you the actual number of frames dropped along with how many actual frames that were drawn. And of course we will discuss that as well.

The Meat, the Taters, the Milliseconds

We have saved the best for last and that is GPU Render Time shown in milliseconds. Since we know that our hardware has to render frames at either 45fps, but hopefully 90fps, how do we really measure what the hell is going on with our GPU. We have examined this from a few ways, and the VR purist will probably tell you that the VR experience must not allow the system to go into Reprojection mode with the Vive, or Timewarp with the Rift. And that would probably be correct, but the fact of the matter is that is simply not going to happen at this early stage in the VR game, if ever. The person a step down from that would probably tell you that Reprojection, with minimal dropped frames is acceptable from an experience point of view. I am probably in this group right now. The next person down the stack would likely tell you, "Turn off Reprojection/Timewarp and ride it out like nature intended." That person is likely not the one you want to listen to in my experience. Seriously, different folks react to these technologies differently, so there is not telling what you might find acceptable gameplay. The only way to do that is to figure it out for yourself.

At 90 frames per second your GPU must render a new frame every 11.1 milliseconds. You will see our graphing has hash lines at 5.55ms, 11.1ms, up to 22.2ms. If the GPU takes more than 11.1ms for a couple of concurrent frames, it turns on Reprojection like we talked about above. If you do not have Reprojection turned on, it will cut your display rendering to 45Hz, since frame tearing is totally unacceptable (I have never seen tearing on a VR headset, but I just guess it is horrible.), then you puke.

But really 11.1ms is not the real number either. Once the Vive hardware and Steam VR software see that you are getting close to busting 90% of 11.1ms, the software starts having the hardware make changes. My explanations here have already gotten too long, but there are 1000s of pages of documentation that you can wade through to figure out for yourself online that will very likely put a lot of things about VR into perspective. I would highly suggest watching this lecture given by Alex Vlachos of Valve on Advanced VR Rendering Performance as it will give you a lot of insight as to what we have discussed here if you need more information.

So to sum it up.....we want 90 frames per second always. To get 90 frames per second always, our GPU must be able to render that frame in less than 11.1 milliseconds. If our GPU does not render a frame in less than 11.1 milliseconds, it is going to turn on Reprojection in the Vive, and Timewarp in the Rift. If the GPU is still having trouble keeping up, it is going to start dropping a lot of frames. And Reprojection with dropped frames is BAD.