bune.city/_drafts/lynne-teaches-tech/2019-05-25-lynne-teaches-te...

17 KiB

title author categories
Lynne Teaches Tech: What do the various graphics settings in PC games mean? Lynne
Lynne Teaches Tech

This is going to be a fair bit longer than the average Lynne Teaches Tech post, due to the sheer amount of info that needs to be covered.

Most PC games include a smattering of graphical options to configure, ranging from the obvious, like brightness and resolution, to more confusing ones, such as chromatic aberration and ambient occlusion. This post will attempt to explain as many as possible, and may occasionally be updated to add more. Feel free to leave a comment if I missed one!

This article is structured so that the easier to understand sections come first, with the more complicated stuff later on. There's also a table of contents provided so you can jump to a particular section if you're using this post as a reference, or if you just want to know about one thing in particular.

While some people use the term PC to refer exclusively to Windows computers, in this post, it will mean any operating system aimed at traditional computers, such as Windows, macOS, and Linux.

Display

This section refers to settings that effect how the image is displayed on the screen.

Resolution

Every display has a resolution. Your computer outputs video at some resolution, usually the same one as your display to ensure that everything looks as best as it can.

Higher resolutions mean that your display needs to create more information. It's a lot simpler to render 1,000 pixels than it is to render 10,000, because the graphics card doesn't need to create as much information. One common display resolution is 1920 pixels wide by 1080 pixels high, or 1920x1080 (also known as 1080p). At a resolution of 1920x1080, your graphics card needs to generate 2,073,600 pixels, or 2.07 megapixels, of information. Meanwhile, 1280x720, another common standard, is only 0.92 megapixels, and is therefore much easier for a computer to process. 4K, or 3840x2160[efn_note]This is the "standard" 4K resolution, but there are others[/efn_note], is a massive 8.29 megapixels.

A comparison of the three aforementioned standards.Original photo by Artem Sapegin on Unsplash{.wp-image-337}

Higher resolutions look better, but come at the cost of performance. If your computer's really struggling to play a game, you might want to consider turning this down, but be aware that things will look noticeably blurrier, and you'll get a lot less detail.

Internal Resolution

Some games offer a setting to change the internal resolution as well as the resolution. This might seem a little confusing, but it's actually quite simple.

Suppose you have a 1080p display, but you can't handle running a game at that resolution, so you turn it down to 720p. Everything becomes less detailed, including the in-game menus and overlays. Internal resolution fixes that: It allows you to set the game's graphics to run at a lower resolution, while the menus remain at full resolution. This means that you get crisp subtitles, buttons, health meters, and more, while still running the game at a lower resolution. If a game offers you the option to change the internal resolution, you'll want to do this instead of the standard resolution setting. It offers nearly zero performance penalty for a great benefit.

Brightness, Contrast, Saturation, and Gamma

These three are pretty simple, so I won't spend too long on them.

Brightness is, as the name suggests, how bright the image is. Turning up the brightness makes everything brighter, from the shadows to the lights.

Contrast is the difference between black and white. A low contrast means the range of brightness is squished together, with less dark blacks and less bright whites. Having this too low makes everything look terrible, but having it too high makes it look like the brightness is exaggerated.

Saturation is how vibrant the colours are. High saturation makes colours "pop" more, but also makes things look less realistic.

Gamma is [TODO] https://gaming.stackexchange.com/a/80986

Fullscreen, Windowed, and Borderless Windowed Mode

Fullscreen programs take direct control of your computer's display space. If a fullscreen game is running at a different resolution than your operating system, then it will tell it to change the resolution to match the game. This can occasionally cause problems with using alt-tab if the game isn't built to handle being in the background, and if the game changes the resolution, alt-tabbing will sometimes mean changing the resolution back to the previously set one.

Windowed mode means that the game runs in a window, just like pretty much every other program.

Borderless windowed mode is a special setting that is sort of a mix between the two. The game will run in a window without the usual window decorations (such as the title bar and close button), and will usually take up the entire screen. This means that you can easily alt-tab between programs and get notifications, while also taking up the entire screen and not wasting space with close buttons and such nonsense.

VSync

Every display has a refresh rate. This is the number of times it can update the screen per second. Most monitors typically have a refresh rate of 60Hz, meaning they can update the screen 60 times per second. A 60Hz monitor is therefore perfectly suited for playing games at 60FPS, or 60 frames per second. It also works well for 30FPS content, as 60 is cleanly divisible by 30, and the monitor can just display each frame twice.

However, games don't usually run at a perfectly stable 60FPS all the time. When things get more graphically intense, your computer might not be able to run the game at the full 60FPS, and might drop to, say, 50. Your 60Hz monitor can't display 50FPS content nicely, because they aren't evenly divisible. The game might also run at a higher framerate than the monitor can handle if your PC can handle it, and 70FPS content won't look good on a 60Hz monitor either.

To make this more mathematically simple, let's imagine a 3Hz monitor playing 2FPS footage. The monitor is ready to display a new frame 3 times per second, but there's only a new frame to display 2 times per second. The monitor can't "wait" for the frame to be ready, it always runs at the same speed. So when the monitor tries to display the frame, the graphics card hasn't finished rendering it yet. This means that it only displays some of the frame. This leads to screen tearing.

The same thing happens if the game is running too fast. If a 3Hz monitor tries to display 4FPS footage, by the time it updates, the graphics card has already started rendering a new frame, and the monitor displays some of the new frame over the top of the previous one.

Let's say that the monitor and game are running at a rate where the first frame displays perfectly, but when the monitor tries to show the second frame, it's only half-finished. This would mean that the top half of the second frame appears on the monitor, but the bottom half of the first frame is still there. Since video games don't tend to have massive changes between each frame, rather than looking like two completely different images overlapping each other, it will tend to look like one image with a "tear" in the middle.

Simulated screen tearing. The two labelled points are the image artifacts created by tearing.Vanessaezekowitz \[CC BY-SA 3.0\], via Wikimedia Commons{.wp-image-343}

Of course, if there has been a huge change between frames (a cutscene with a jumpcut, pausing the game...), it will look even more out of place.

If your monitor runs at 60Hz, each tear will only be visible for 1/60th of a second. However, since the output will most likely tear every single frame, there will be a new tear somewhere else every time the monitor refreshes. This can be very distracting. VSync can deal with visual tearing in multiple ways:

Double Buffering

The graphics card will keep the old frame in memory, and whenever the monitor asks for an update, it will send the old frame. Meanwhile, it will render the new frame. When the graphics card is finished with the new frame, it will wait for the monitor to ask for an update, and send the new frame. It will then store the new frame as the old frame, and start working on the next new frame. As a side effect, this means that the game will be limited to a framerate cleanly divisible by your monitor's refresh rate. For example, if you have a 60FPS monitor, the game will only be able to display at 60FPS, 30FPS, 15FPS, and so on - numbers cleanly divisible by 60.

Triple Buffering

Triple buffering works similarly to double buffering, but works in a way independent of the monitor's refresh rate. It never needs to wait for the monitor to refresh, meaning that the game isn't limited to a divisor of 60Hz (or whatever your monitor's refresh rate is). The way this is achieved is a little more technical.

As the name suggests, triple buffering makes use of three buffers, areas of memory where the computer is able to store completed frames[efn_note]A buffer is an area in memory where things are temporarily stored while other stuff is going on in the background. It isn't exclusive to VSync.[/efn_note]. Triple buffering uses one "front" buffer and two "back" buffers to store the video. Whenever the display needs an update, it asks the front buffer for it. Meanwhile, the graphics card can render the new frame to one of the back buffers, where it can then be copied into the front buffer. You can read about this in more detail here.

Adaptive VSync

Adaptive VSync enables VSync when the framerate exceeds your monitor's refresh rate, and disables it otherwise. This is a "best of both worlds" approach that means you don't get tearing when the game is running too fast, but you don't get locked to a divisor of your monitor's refresh rate when it's running too slow. This means that you'll still experience tearing when the game is running at a lower framerate than your monitor's refresh rate, but most people would rather have tearing at 50FPS than a game running at only 30FPS.

Adaptive VSync is a feature implemented by both AMD and Nvidia GPUs. Nvidia has an article about it here.

FreeSync/GSync

These methods provide the best possible solution to the problem by approaching it from the other side: Instead of changing the GPU's framerate, they change the monitor's refresh rate to adapt to the video signal, eliminating tearing without requiring framerate changes or memory buffers. This requires that you have a GPU and a monitor that are compatible with the technology.

Effects

We'll now turn our attention to settings that provide different visual effects.

Bloom

Bloom is one of many visual effects in modern video games designed to emulate the behaviour of a camera. While this doesn't make much sense in most first person games (if you're looking through the eyes of a living creature, why do your "eyes" behave like cameras?), it is commonly seen in a lot of video games.

Bloom replicates the way that cameras show light "bleeding" from bright objects to their darker surroundings.

A photograph with particularly high levels of bloom. Notice how the brightness of the light shining through the windows leaks into the surrounding wood.Cropped from the original image by Deanpemberton\~commonswiki \[CC BY-SA 3.0\], via Wikimedia Commons{.wp-image-346 width="384" height="239"}

Bloom typically incurs little to no performance impact, as it requires very little processing power.

Nvidia has a comparison page where you can see the difference between bloom being enabled and disabled on a screenshot of the game Tom Clancy's Rainbow Six Siege here.

Lens Flare

A photo with lens flare.Source{.wp-image-347}

Lens flare is another effect that aims to simulate the behaviour of cameras. It has very little performance penalty, although some may find it obnoxious or unrealistic.

Chromatic Aberration

Chromatic aberration occurs when a camera lens fails to line up the red, green, and blue channels that make up an image.

Chromatic aberration can be seen at the edges of these squares. Colours from the other squares run into each other.DMahalko \[CC BY 3.0\], via Wikimedia Commons{.wp-image-349}

Again, not much performance impact with this one. Whether or not you enable it is a matter of taste.

Motion Blur

This one applies to eyes, too! When you move something very quickly, you'll notice it looks kinda blurry. Motion blur attempts to recreate this by adding a blur whenever you move the in-game camera quickly. This is another "matter of taste" option.

Performance

This section covers settings that are there for performance reasons.

Models (or Model Quality)

3D objects in computer graphics are made up of polygons, typically triangles (also called "tris", pronounced tries) or rectangles ("quads"). You can create any 3D object out of these polygons. A ball made up of only 50 polygons wouldn't look very good, but a 500 polygon ball would look a lot better. However, this comes at a performance cost. Models with more polygons look better and less "computery", but require more graphics processing power.

A simple model of a car made up of quads.Pauljs75 at English Wikibooks \[Public domain\], via Wikimedia Commons

A computer has to render more than just the polygons themselves. It also needs to apply lighting, shading, and textures to them, which makes high-poly model processing very intense.

Textures

Textures are the images that are applied to the models. For example, you might have a model of a tree, and then an image that is applied to the model to make it look like a tree. Without a texture, a model looks like the car above: A single uniform colour, possibly with lighting and shading applied[efn_note]It's also possible to set the colours of polygons individually, either with an algorithm or a preset list of colours, but we won't go into that here.[/efn_note].

Higher resolutions textures look better, but require more VRAM (video memory) and processing power.

A demonstration of how a texture image is mapped onto a 3D model.Drummyfish \[CC0\], via Wikimedia Commons{.wp-image-350}

Bilinear, Trilinear, and Anisotropic Filtering

These are all methods of rendering textures that aren't angled parallel to the camera. A common example is the ground stretching off into the distance. Bilinear and trilinear filtering are much less resource intensive than anisotropic filtering.

A comparison of trilinear and anisotropic filtering. As the texture stretches into the distance and away from the camera, it gets blurrier on the trilinear side, while still remaining crisp with anisotropic filtering.Cobblestones.JPG: THOMAS - derivative work: Lampak \[CC BY-SA 3.0\], via Wikimedia Commons{.wp-image-351}

Level of Detail

To save processing power, games will often replace distant textures and models with lower quality ones. If done well enough, this can be almost imperceptible. Games typically give you a slider to choose how aggressive you want the effect to be, with the minimum setting only effecting extremely distant objects (or sometimes disabling LOD altogether), and the highest setting meaning that models and textures are replaced with lower quality versions very quickly.

Summary

This article isn't finished yet! Thanks for reading what I've written so far, though! :mlem: