Blog - Home

Graphics settings in Half-Life: Alyx

15/09/26 22:17

This is an unfinished draft, and contains some incorrect information. See this blog post for context.

There are frequently questions in the /r/HalfLifeAlyx subreddit asking about the best graphics settings to use, or how to tune them for a particular setup. I figure I may as well lay out everything I know about it here, to save re-answering it every time.

Alyx's graphics settings are a bit weird compared to most games. Most of them don't make a huge difference visually, but do impact performance - and due to Alyx's internal scaling, they then do make a difference, but not in the way you might expect. You can see a comparison between the different presets in this RockPaperShotgun article.

TODO: get my own comparison screenshots

HL:Alyx has its own dynamic resolution scaling, which uses the steamVR scale as a reference and adjusts from there. If your GPU has performance capacity to spare, it will increase the render resolution, which makes the image sharper and more detailed. If your PC is struggling to reach the set framerate (usually 90fps, but depends on your VR headset), it will turn down the resolution to lighten the load, and help maintain that minimum framerate.

There are eight fidelity levels (or rather nine, including 100% scale):

Fidelity level Resolution scale
0 65%
1 75%
2 80%
3 100% (The scale you have set in SteamVR)
4 115%
5 143%
6 151%
7 174%
8 200%

To see the scaling in action, you can enable a performance HUD in-game. First, go to the game properties in Steam, and add a lauch parameter: -console -vconsole. Then once you've launched the game, press tilde ( ~ ) or backtick ( ` ) (depending on your keyboard layout) to open the console. Enter the command vr_perf_hud 1 to turn the HUD on. Re-enter the command with 0 instead of 1 to turn it off again.

This will show the stats of your frametime, and visualise which fidelity level the game is currently using in a bar across the top.

TODO: Add screenshots of all this.

You can also lock the game to a specific fidelity level, to compare graphics settings without the resolution affecting things. First disable automatic fidelity with the command vr_fidelity_level_auto 0 (and again, change the 0 to a 1 to re-enable it). Then to force a specific level, enter vr_fidelity_level 3, where 3 is your desired level.

With the fidelity locked, your frame rate will vary more depending on how expensive the current scene is to render, and you may experience stutters/lag.

So, what about the graphics settings? The thing with Alyx is that graphics settings generally don't have a huge visual impact, but do impact performance about how you'd expect. Therefore it's usually better to turn settings down, so the fidelity level goes up. Low settings at a higher resolution, can look sharper and clearer than high settings at a lower resolution. Of course, there are trade-offs to be made in both directions. This is not made easier by the settings menu's poor explanation of what each setting does, so here's a rough guide:

Setting What it does Performance impact
Fidelity Nothing to do with the fidelity level. Rather, these are presets that change all other settings at once (except for texture quality, which always defaults to 'high'). Changing another setting individually will change this to 'custom'. Varies massively as it changes other settings.
Textures Changes the quality and resolution of in-game textures Mostly affects VRAM usage. If you are not VRAM constrained, this has minimal performance impact, so generally safe to leave on 'high'.
Shadows Resolution of dynamic shadows (e.g, on NPCs, objects you pick up). Baked lighting is unnaffected. Some impact on both CPU and GPU, for not much visual difference. If you're trying to improve performance, turn this setting down first.
Characters Adds ambient occlusion/contact shadows to NPCs. No effect on character models. Quite expensive, given how subtle the change is. Large portions of the game don't have any NPCs around anyway. Recommend turning this down unless you have performance to spare.
Fog Controls the quality of volumetric fog. Very expensive. If you're already performance bottlenecked, expect 5-10% variations in framerate with each level of this setting
Flickering lights Turns flickering lights on/off. None. Flickering lighting is just switching between baked lightmaps anyway, this is entirely a comfort/accessibility setting.

TODO: boot up the game and check all this stuff... <-- this was the death of this post, as explained in the context post linked at the top.