Half Life: Alyx Performance & IQ Review across 13 AMD & NVIDIA Cards using FCAT-VR with the Vive Pro
UPDATED again 11:45 AM PDT, Sunday 04/05/2020 – We have heard back from a developer and have updated and fine-tuned our inferences regarding SteamVR resolution and fidelity level settings to be more accurate which now match BTR’s own FCAT-VR results and screenshots.
Half Life: Alyx released on March 23rd to great reviews and it is probably the most important and instantly popular VR game to date. It has just been added to BTR’s regular benchmark suite, and we are going examine its image quality (IQ) and measure the performance of 13 NVIDIA and AMD video cards with the Vive Pro using FCAT-VR.
We spent over 20 hours savoring every moment that we spent playing Half Life: Alyx, and an additional nearly 20 hours examining its secrets and looking under its hood. Benchmarking has presented more challenges than usual since Half Life: Alyx uses a baked-in super resolution/super sampling algorithm that dynamically scales the resolution up or down depending on a video card’s performance headroom while it ignores SteamVR’s Super Resolution user settings.
This reviewer absolutely loved Half Life: Alyx and admires the developers’ high achievement of coupling an awesome game with an incredible story, amazing atmosphere, great visuals, and well-optimized performance, with next generation VR physics. Old friends are back, and the story fills in many missing elements of the Half Life saga, potentially setting the stage for Half Life 3.
Half Life: Alyx’ 11 chapters boast multiple environments, indoors and out, and its atmosphere is decidedly horror with plenty of gore to accompany the action. The Combine soldiers and other enemies appear full-sized, and they are far more threatening than any pancake version of Half Life can hope to achieve as the player is instantly immersed into its VR game world. Interaction is incredible, and the player soon makes good use of the “Russells” or gravity gloves to interact with, pick up, store, and throw items.
Puzzles are an integral part of Half Life: Alyx, and a few of them are quite difficult especially when using a multi-tool to trace electrical faults across multiple circuits in several adjoining rooms. It is a real pleasure to manipulate puzzles in 3D space by using a player’s hands that simply cannot be accomplished by any 2D video game.
The Half Life: Alyx audio is incredible, and it adds to a player’s immersion bringing with it a sense of impending dread in totally dark areas illuminated only by a small flashlight. The music score is also spot on as it matches each scene and the action exactly. Weapons sounds are real, and you will interact with your weapons somewhat realistically to manually eject spent cartridges and reload them. If you solve certain puzzles, you can upgrade your weapons at stations by using collected resin that is hidden all through the game. The game rewards the player for exploring every noon and cranny, and some of the items are very well-hidden.
BTR received a Half Life: Alyx code as part of an Index Controller bundle which arrived a week before the game launched. Half Life: Alyx is available as a $59.99 SteamVR game that is playable on multiple HMDs including the Valve Index, Vive HMDs, Oculus Rift HMDs, and WMR. Although we give Half Life: Alyx a 9.5/10, this isn’t a game review, but rather we are concentrating on its performance as measured by FCAT-VR using 13 video cards on their latest drivers at factory settings, as well as a short image quality (IQ) comparison.
Here are the cards that we benchmarked with the very latest drivers from NVIDIA (445.75) and from AMD (20.3.1):
- RTX 2080 Ti (11GB Founders Edition, on loan from NVIDIA)
- RTX 2080 Super (8GB Founders Edition, on loan from NVIDIA)
- RTX 2070 Super (8GB Founders Edition, on loan from NVIDIA)
- RTX 2060 Super (8GB Founders Edition, on loan from NVIDIA)
- RTX 2060 (6GB Founders Edition, on loan from NVIDIA)
- GTX 1660 Super (6GB Dual EVO, on loan from ASUS)
- GTX 1080 Ti (11GB Founders Edition, on loan from NVIDIA)
- GTX 1080 (8GB Founders Edition, on loan from NVIDIA)
- RX 5700 XT (8GB Anniversary Edition)
- RX 5700 (8GB Red Devil, on loan from PowerColor)
- RX 5600 XT (6GB EVO OC on loan from ASUS)
- RX Vega 64 (8GB Liquid Cooled edition)
- RX Vega 56 (8GB Red Devil, on loan from PowerColor)
BTR’s testing platform is an Intel Core i7-8700K at 4.8GHz, an EVGA Z370 FTW motherboard and 16 GB of T-Force XTREEM DDR4 at 3866MHz on Windows 10 64-bit Home Edition. We use a Vive Pro (on loan from HTC/Vive) because image quality differences are more easily noticed on a higher resolution HMD like the Pro or the Valve Index over using a first generation HMD like our Oculus Rift CV-1 or the original Vive.
There are also multiple individual settings that may be changed by the user. Please note that when changing from Ultra to High, for example, the Texture setting will not change but it has to be set manually to match the overall High Fidelity setting.
However, many gamers have noticed that at times, the game appears less sharp visually as though subsampling has taken place automatically even though the settings have not been changed by the user.
Changing the Visuals in Half Life: Alyx and IQ comparisons
Half Life: Alyx uses an adaptive/dynamic scaling algorithm which uses a card’s performance headroom to subsample in demanding scenes and to supersample in less demanding scenes. You can actually watch the Fidelity levels bounce around if you access the game console’s VR performance HUD command line while playing the game.
Not long ago, SteamVR referred to super resolution as supersampling,
and 1.4X (supersample) would equal what is now 140% 196% (super resolution), for example. UPDATED: According to the old SteamVR scale 1.4 is not new 140%, but a likely 1.4 on the old scale, thus 200% (1.4*1.4=196%) on the current scale.
From now on, BTR will use the term super resolution to refer to the up- and down-scaling of images instead of supersample as previously. For a technical discussion of supersample and super resolution, please refer to BTR’s Boneworks VRSS review. Higher super resolution increases the viewer’s perceived resolution in the HMD because of temporal and spatial downsampling and the images are also less aliased.
However, changing the SteamVR super resolution settings do nothing without using the game’s console commands. But be careful with using console commands to force super resolution or higher Fidelity levels. Reprojection is more unsettling with Half Life: Alyx than with many other games. That said, here’s how to do it.
Changing the Fidelity Levels using the Console
We were unable to use a single command line to set the Cvars, so we used the following method successfully to benchmark the performance of 13 video cards as originally posted by Avery3R on Reddit’s r/ValveIndex sub – with a big thank-you from us:
Launch alyx with -console -vconsole, then press the backtick/tilde(~) key on your keyboard to open the console. Type in vr_fidelity_level_auto 0 and hit enter, then vr_fidelity_level 3 and hit enter again. To test if Super resolution remains at 100%, keep the console open and type vr_perf_hud 1
Of course, you can also force Fidelity Level 8 which appears to be a 1.4X supersampling (old scale; probably 200% super resolution, new scale) setting, or Level 3 which appears to use no supersampling (100% resolution), or even Level 0 which looks subsampled (apparently 75%). But be aware that it takes a RTX 2080 Ti to manage the highest fidelity setting Level 8 without reprojection on Ultra, and occasionally even the mighty Ti will require some frames to be synthesized. It is also important to note that excessive reprojection may cause micro-stutters and uneven delivery of frames which may make a gamer VR sick.
UPDATED: Here are the complete Fidelity Levels for the Valve Index according to a developer. However, it is not official, and it is only posted as a guide.
Here is an enlarged comparison of three of the Fidelity levels: Level 1 (left, subsampling probably 75%); Level 3 (center, 100% super resolution); and Level 8 (right, likely 200% super resolution). Open the image full-sized in a separate window.
Since we do not have any contact with Valve, the above inferences were based on the unconstrained framerates scaling as reported by FCAT-VR as well as by comparing the image quality in game, in addition to comparing SteamVR screenshots. Our speculation has some basis in Valve’s presentation at GDC 2016 taken together with a developers updated research which seems to indicate that Fidelity Level 3 is 100%, although we are still not absolutely certain of the exact Fidelity level settings used for Half Life: Alyx. To take your own SteamVR screenshots, hold the menu button and press the trigger simultaneously. The VR screenshots will appear in your main steam folder (in our case Local Disk E:) as shown below.
vr_fidelity_level_auto 0 disables the automatic Fidelity setting so that the game’s engine no longer adjusts the levels according to your card’s performance headroom.
vr_fidelity_level X (in the case of what we use for benchmarking, X=3, or what is probably 100% supersampling/super resolution) sets the Fidelity level from 1 to 8. Level 8 is likely 200% supersampling.
The reason a reviewer might choose Fidelity Level 3 for benchmarking as we did is to force a locked Fidelity level for all tested video cards so as to allow for meaningful Card A to Card B performance comparisons. Without disabling the automatic settings with the console command lines, comparative performance benchmarking becomes impossible, and a RTX 2080 Ti and a RTX 2070 Super will give almost the same unconstrained framerate and similar frametime plots – but the visuals of the Ti will be noticeably better.
We chose Level 3 because it appears to be the level where it does not alter the global resolution which is determined by SteamVR. Below Level 3, the application appears to use subsampling and above Level 3 it appears to be supersampling.
The Fidelity Level console command settings are probably best for advanced users who are certain of which visual levels they want Alyx to remain at without any variability, but they are probably ideal for benchmarking apples to apples performance of card A to card B, etc.
By testing in this way, we may roughly suggest which in-game settings to start with – Ultra, High, Medium, or Low – without resorting to reprojection or motion smoothing which may be disturbing when playing Half Life: Alyx. For home testing, it might also be useful to type the console command vr_perf_hud 0 before you do anything else, so you can see how the game engine acts at your chosen settings. For example, if you set it too high, you will actually see the Fidelity level drop and subsample. But if you set it too high, as in a specific example of using a RTX 2060 with in-game Ultra setting, you will get microstutters and uneven frame delivery.
Let’s look at performance and we shall test each of our 13 cards at their appropriate settings before we give suggestions. Afterward we will give the overall unconstrained performance chart which compares all 13 cards’ relative performance by changing between the 4 settings: Low, Medium, High, and Ultra at a fixed Fidelity Level 3 setting.
Half Life: Alyx has very good to excellent visuals, and it generally runs well on an i7-8700K overclocked to 4.8GHz and a RTX 2070 Super with maxed out in game setting options. Physics interactions are run on the CPU, and we minimized those interactions in our 65 second benchmark run over one of the most visually demanding maps in the game in Chapter 8, Captivity. It’s also very challenging to benchmark this part of the map as it is small with many turns that may not line up precisely as the player is being actively chased by an Antlion.
Half Life: Alyx should not be played with constant reprojection or Motion Smoothing applied. Continually delivering frames at half the HMD’s optimum rate refresh by using Motion Smoothing tends to cause artifacting and it may even cause some upset or even VR sickness for the gamer.
All 13 video cards are tested by FCAT-VR using the in-game settings which include Ultra, High, Medium, and Low. Of course, we did not test a RTX 2080 Ti on Low settings nor did we test a RX 5600 XT on Ultra settings, but we tried to keep the settings realistic and close to optimal for each card. Since the VR Fidelity Level is set identically for all cards at what we believe is 100% super resolution/supersampling, they can each be tested so their performance is apples to apples.
It is important to remember that BTR’s charts use frametimes in ms where lower is better, but we also compare “unconstrained framerates” which show what a video card could deliver (headroom) if it wasn’t locked to 90 FPS by the HMD. In the case of unconstrained FPS which measures one important performance metric, faster is better. Also, please note that FCAT-VR does not show any difference between dropped and synthesized frames for any card we tested.
Lets start by testing the video cards that appear to run best at Low settings.
The first card we test is an ASUS GTX 1660 Super 6GB Dual EVO.
GTX 1660 Super 6GB
The GTX 1660 Super struggles at Medium settings and it drops or requires 190 frames to be synthesized. It does better with Low settings, either dropping 60 frames or requiring them to be synthesized. Actually playing Half Life: Alyx with a GTX 1660 Super is an acceptable experience on Low settings (without forcing Fidelity Level 3) since the game automatically subsamples the demanding scenes.
We note that the 6GB cards struggle with delivering smooth framerates apparently because the memory buffer fills more rapidly than 8GB cards, and there is some microstutter evident when it occurs.
The next card we test is an ASUS RX 5600 XT Super 6GB EVO OC.
RX 5600 XT 6GB
Here is the Frametime plot of the RX 5600 XT run at Low and at Medium settings.
The RX 5600 XT really struggles at Medium settings delivering 98.68 unconstrained frames, and it drops or requires 166 frames to be synthesized. It does better with Low settings delivering 114.14 unconstrained frames, either dropping 19 frames or requiring them to be synthesized. However, at even the Low setting, microstutter is noticeable while playing even without forcing Level 3 Fidelity level. Perhaps it is a driver issue.
Next up we test the Red Devil RX Vega 56.
RX Vega 56 8GB
Here is the Frametime plot of the RX Vega 56 tested at Low and at Medium settings.
The RX Vega 64 can handle Medium settings delivering 107.31 unconstrained frames, but it drops or requires 44 frames to be synthesized, and microstutter is evident while playing. It does better with Low settings delivering 119.23 unconstrained frames, either dropping 2 frames or requiring them to be synthesized, but some microstutter is still a factor that may be improved by not forcing Level 3 and allowing the game engine to automatically adjust the visuals.
Next up we test the cards that can handle Medium/High settings.
The first Medium/High setting card we test is an RX Vega 6GB Liquid Cooled Edition.
RX Vega 64 8GB
The RX Vega 64 is a borderline case. Technically it can handle High settings by delivering 111.77 unconstrained frames but it drops or requires 41 frames to be synthesized, and microstutter is evident while playing with the Level 3 Fidelity setting. It does better with Medium settings delivering 120.7 unconstrained frames, either dropping 26 frames or requiring them to be synthesized. Gameplay becomes smooth at Low settings, delivering 128.83 unconstrained frames with only one frame dropped. This card may be playable with a mix of High and Medium settings, but only by not forcing Level 3 Fidelity and letting the game engine handle the visuals automatically.
The next Medium/High card we test is an RTX 2060 6GB Founders Edition.
RTX 2060 6GB
The RTX 2060 struggles at High settings with 101.17 unconstrained FPS, and it drops or requires 160 frames to be synthesized. It does better with Medium settings with 114.83 unconstrained FPS, either dropping 25 frames or requiring them to be synthesized although it easily handles Low settings with 129.89 unconstrained FPS and no dropped or synthesized frames.
Even though the RTX 2060 is a 6GB cards it appears to manage its memory better than the other two 6GB cards we tested, and it appears to handle a mix of Medium/High settings better than the RX Vega 64 even though its unconstrained FPS is lower.
The next card we test is a GTX 1080 Founders Edition 8GB.
GTX 1080 8GB
Here is the Frametime plot of the GTX 1080 run at Medium, High, and Ultra settings.
The GTX 1080 struggles at High settings with 101.17 unconstrained FPS, and drops or requires 160 frames to be synthesized. It does better with Medium settings with 120.9 unconstrained FPS, either dropping 25 frames or requiring them to be synthesized. It may be acceptable to play with a mix of High and Medium settings as long as the game manages the Fidelity settings automatically
Next up, the cards that can handle High settings beginning with the Red Devil RX 5700 8GB.
The first High setting card we test is a Red Devil RX 5700.
RX 5700 8GB
Here is the Frametime plot of the RX 5700 run at Medium, High, and at Ultra settings.
The RX 5700 cannot handle Ultra settings, delivering 104.81 unconstrained FPS as it drops or requires 108 frames to be synthesized and microstutter is evident. It does a little better with High settings, delivering 109.78 unconstrained frames, but it drops 58 frames or requires them to be synthesized. At Medium settings it delivers 126.68 unconstrained FPS with 13 dropped or synthesized frames.
The next High setting card we test is an RTX 2060 Super 8GB Founders Edition.
RTX 2060 Super 8GB
Here is the Frametime plot of the RTX 2060 run at Medium, High, and at Ultra settings.
The RTX 2060 Super is unsuitable for Ultra settings with 110.9 unconstrained FPS, and it drops or requires 36 frames to be synthesized. It does good with High settings delivering 117.94 unconstrained FPS, only dropping 3 frames or requiring them to be synthesized, and it delivers 134.02 unconstrained FPS at Medium settings, neither dropping nor requiring any synthesized frames.
It is possible to play with a RTX 2060 Super on Medium and get a higher visual image quality than on High because of the extra performance headroom that allows for a higher level of super resolution to be applied by the game’s algorithm.
Next up, the Anniversary Edition of the RX 5700 XT.
RX 5700 XT 8GB
Here is the Frametime plot of the RX 5700 XT run at Medium, High, and at Ultra settings.
The RX 5700 XT also cannot handle Ultra settings even though it delivers 119.27 unconstrained FPS and drops or requires 26 frames to be synthesized as again microstutter is evident. It does better with High settings by delivering 126.85 unconstrained frames, but it either drops 14 frames or requires them to be synthesized. At Medium settings it delivers 144.91 unconstrained FPS with 19 dropped or synthesized frames.
We notice that the equivalent GeForce cards are somewhat less prone to microstutter than the Radeons, and it could be driver issues. Next, we chart the performance of the 4 cards that can play at Ultra settings starting with the GTX 1080 Ti Founders Edition 11GB.
GTX 1080 Ti 11GB
Here is the Frametime plot of the GTX 1080 Ti run at Medium, High, and at Ultra settings.
The GTX 1080 Ti is suitable for Ultra settings with 130.13 unconstrained FPS, and it drops or requires only 1 frame to be synthesized. It also does great with High settings delivering 142.34 unconstrained FPS, while dropping 7 frames or requiring them to be synthesized, and it gives 162.35 unconstrained FPS at Medium settings, dropping or requiring 3 synthesized frames.
Next up is the RTX 2070 Super 8GB Founders Edition.
RTX 2070 Super 8GB
Here is the Frametime plot of the RTX 2070 Super run at High and at Ultra settings.
The RTX 2070 Super is suitable for Ultra settings with 132.43 unconstrained FPS, and it drops or requires only 1 frame to be synthesized. It also does great with High settings delivering 142.89 unconstrained FPS, while dropping 1 frames or requiring it to be synthesized.
Next, the RTX 2080 Super 8GB Founders Edition.
RTX 2080 Super 8GB
Here is the Frametime plot of the RTX 2080 Super run at High and at Ultra settings.
The RTX 2080 Super easily manages Ultra settings with 148.81 unconstrained FPS, and it drops or requires only 1 frame to be synthesized. It handles High settings easily by delivering 161.96 unconstrained FPS, while dropping 1 frames or requiring them to be synthesized. The RTX 2080 Super can deliver maxed-out settings at Ultra including adding some super resolution as applied by the game engine when the Fidelity settings are not overridden.
Finally, the RTX 2080 Ti Founders Edition is in a class by itself as we test at Ultra settings and Ultra plus the maximum super resolution that can be applied by forcing Fidelity Level 8.
RTX 2080 Ti 11GB
Here is the Frametime plot of the RTX 2080 Ti run at Ultra, and also at Ultra plus Level 8 Fidelity settings.
The RTX 2080 Ti easily manages Ultra settings with 184.62 unconstrained FPS, and it neither drops nor requires any frames to be synthesized. It handles Ultra settings plus Level 8 Fidelity setting, delivering 131.37 unconstrained FPS, while dropping only 1 frame or requiring it to be synthesized. If the game engine manages the framerates, occasionally the Fidelity level will drop a notch on the most demanding scenes.
Finally, we compare the Unconstrained Framerates of all of our cards.
The following chart summarizes the overall Unconstrained Framerates of our 13 cards all running Half Life: Alyx at Level 3 Fidelity setting using Low, Medium, High, and Ultra settings. The Unconstrained Framerates are measured by FCAT-VR to show what a card could deliver (performance headroom) if it were not constrained by the HMD’s locked 90hz/90FPS cadence. An ‘X’ means the card was not tested at a particular setting. Yellow text refers to what we suggest as a starting point for our card’s recommended settings.
In some VR games the Turing architecture does better than Navi in VR while in other games the situation is reversed. Navi has significantly improved over Vega in VR games as our testing shows, however, in the case of Half Life: Alyx, the usually comparable GeForce cards give a better experience than the Radeons. We hope it is a driver issue that AMD will address quickly.
After spending 40 hours playing and benchmarking Half Life: Alyx with 13 video cards, we have concluded that it is an incredibly well-optimized game that automatically leverages the headroom of a video card to deliver extremely good visuals. We do not necessarily recommend overriding the game settings using the console except perhaps by advanced users with extremely powerful PCs.
In several cases using lesser cards, we saw better visuals playing at lower settings since there was more performance headroom that allowed for added automatic super resolution bringing increased visuals. It pays to experiment with the settings to determine which are best, and our recommendations may serve only as a starting point.
We were somewhat surprised that the Radeons that are normally equivalent to their GeForce counterparts in pancake gaming and in VR are somewhat held back by microstutter, and we hope that upcoming Adrenalin drivers will address this. The Unconstrained framerates taken by themselves do not give a complete picture of the performance experience playing Half Life: Alyx.
Although Half Life: Alyx is a DirectX 11 forward rendered game that leverages MSAA, it may not be suitable for VRSS because of the way that the engine leverages its own Fidelity settings automatically. NVIDIA isn’t commenting about it. Half Life: Alyx has become BTR’s Game of the Year, and it will become our 13th regular VR benchmark.
Next up, we will return to our indie ray tracing series with Bright Memory which left Steam’s Early Access last week with brand new content. We have already played through it several times while in Early Access, and our impressions of it are very positive.
Happy VR Gaming!