Just to chime in here:
The Visual Quality setting will most noticeably impact the resolution of textures used across the game. This means that the major difference between the levels of this setting impacts the amount of memory used by the application.
There's also a couple of other things that gets adjusted based on the level of Visual Quality that is set:
For the lowest setting, some variants of Depth of Field (DoF) that are used are completely disabled. These are enabled by default for Medium, High and Awesome levels.
DoF can of course be toggled on/off by demand for these levels.
Shadow Distance is also configured to its default values upon changing Visual Quality. Defaults are: 1m on Low, 8m on Medium, 18m on High and 25m on Awesome.
As with DoF, the Shadow Distance value can be changed manually by demand as well. Shadow Distance can be turned up to 50m, but this is not recommended - nor needed - for anyone that doesn't have a top-of-the-line* graphics card.
(* - of course this varies, but it's generally the more expensive GPUs)
The following is a small summary on some of the in-game settings available and their performance impact:
- Resolution determines the amount of pixels needed to be drawn every frame and generally there's a pretty noticeable difference in performance between a high- and a low resolution.
- Post-processing effects like Bloom, DoF, Motion Blur, Noise/Grain and Lens Flares will have a minor impact. Results may also differ between scenes depending on what assets are used in the scene.
In some cinematics a special variant of DoF that's slightly more demanding is used, so the DoF setting might have a tiny bit more impact than the other settings mentioned depending on where you are in the game.
- Anti-Aliasing (AA) and Screen Space Ambient Occlusion (SSAO) are post-processing effects with their own levels of quality. These are generally more demanding than the above mentioned effects. This is because they often have to dynamically update a varying amount of pixels on the screen based on many different variables like the depth at which an object is positioned in world space, texture maps, lookup textures, etc.
- Shadow Distance determines how close to the "camera" a light has to be for it to update real-time shadows on nearby objects. Real-time shadow rendering is often an expensive operation that calculates what part of an object (pixel) should be lit or not. Based on the light's intensity level, a pixel's color is determined by a range of different things. For this to be calculated correctly, things like the original color of the pixel (from texture), the light from different light sources, ambient light etc. also has to be taken into account.
The performance impact of Shadow Distance therefore also depends on the amount of shadow-casting lights (some lights are not set to cast shadows) are in one area. The more of these lights that are within the specified Shadow Distance, the more performance impact this setting will have.
So to sum up; if you have a great deal of performance issues while playing, I would first suggest that you try to reduce the Resolution that the game is rendered in and the Shadow Distance value.
After that I'd recommend playing around a bit with AA and SSAO, as well as the Visual Quality, to where you find a balance between quality and performance that you are happy with.
The remaining settings are more or less player-preference based settings. Some people like Bloom and DoF. Some don't. So basically, these settings will have a minor to no impact on perceived performance and are mostly there for the ability to actually toggle them.
I hope that helps a bit. Ended up like a bit more than just chiming in, I guess.