Serious Sam VR: The Last Hope scales with multi-GPU
Subject: Graphics Cards | November 14, 2016 - 11:22 AM | Ryan Shrout
Tagged: video, the last hope, serious sam vr, rx 480, radeon, Polaris, multi-gpu, liquidvr, amd, affinity
While VR excitement might have cooled slightly in the enthusiast community, there continues to be innovation and software releases on both the Oculus Rift and HTC Vive that are bringing me back to what I think we believe to be part of the future of PC gaming. Serious Sam VR: The Last Hope was announced at E3 this year and is now available as an early access game on Steam. It is a dual wielding shooter that combines the enemies of the previous games along with the crazy weapons that made the series iconic.
And hey, there is something awesome about using a missile launcher that takes up half the screen.
One interesting technology addition to the game is use of AMD LiquidVR affinity multi-GPU. A Croteam developer recently posted a blog on the GPUOpen.com site talking about the implementation.
We wanted to add LiquidVR Affinity Multi-GPU rendering support to our engine because two GPUs can render the two eye views in almost half the time compared to a single GPU and this would greatly reduce our GPU bottlenecks. Affinity MGPU can either be done in one pass or with a separate pass for each eye, in which case we reap the GPU side benefits while the CPU workload stays the same.
We needed about a week to modify all shaders and to make sure that correct data is set for each eye. Single pass rendering with Affinity Multi-GPU gave us a huge speed improvement on both CPU and GPU from our original VR implementation. In the end, it took us less time to do single pass rendering correctly than it took us to fix all the problems caused by multi pass multi-GPU rendering.
After the interest in the Deus Ex multi-GPU scaling video I thought I would see if the Serious Sam implementation was actually beneficial to gamers.
- Test System
- Core i7-5960X
- X99 MB + 16GB DDR4
- AMD Radeon RX 480 8GB
- Driver: 16.10.2
The test was simple: I found that a single RX 480 could run the game at Medium settings perfectly well, but could it be playable on High with multi-GPU? By adding in a second Radeon RX 480 I was able to bring the performance up by 55% or so, making the VR experience nearly flawless.
It's not perfect scaling, but the benefits of multi-GPU for VR, when properly implemented, are obvious. As more games and experiences are released that require higher compute capability or have in-game settings that allow for better image quality, the ability to scale across GPUs will be a welcome addition to the ecosystem.
Check out the video here if you haven't seen any Serious Sam VR gameplay yet!