Screen resolution scaling in games. Scaling. What is GPU scaling for?

Scaling is responsible for how your game will look on different screen sizes. We can make the game scale to each screen automatically during the preload stage so that we don't have to worry about this in the future.

Scaling

Phaser has a dedicated scale object that has several useful methods and properties. Modify your preload () function as shown below:

Function preload () (game.scale.scaleMode \u003d Phaser.ScaleManager.SHOW_ALL; game.scale.pageAlignHorizontally \u003d true; game.scale.pageAlignVertically \u003d true;)

scaleMode has several options that determine how the Element can be used to render graphics through scripts (usually JavaScript). For example, it can be used to draw graphs, compose photos, or even perform animations. You can (and should) provide alternative content within the block ... This content will be rendered in both browsers, older browsers that do not support canvas and browsers with JavaScript disabled. "\u003e will scale:

  • NO_SCALE - do not scale anything.
  • EXACT_FIT - scale to fill the empty space vertically and horizontally without respecting the aspect ratio.
  • SHOW_ALL - scales the game, but preserves the ratio, so the pictures will not be distorted as in the previous value. There may be black bars around the edges of the screen, but we can all live with it.
  • RESIZE - creates the Element can be used to render graphics via scripts (usually JavaScript is used). For example, it can be used to draw graphs, compose photos, or even perform animations. You can (and should) give alternative content within the block ... This content will be rendered in both browsers, older browsers that do not support canvas and browsers with JavaScript disabled. "\u003e with available width and height so that you can dynamically place objects in the game; this is an advanced mode.
  • USER_SCALE - allows you to dynamically scale, calculate sizes, scale and ratio yourself; again this is an advanced mode.

The other two lines of code in the preload () function are responsible for the vertical and horizontal alignment of the element. The element can be used to render graphics through scripts (usually JavaScript). For example, it can be used to draw graphs, compose photos, or even perform animations. You can (and should) give alternative content within the block ... This content will be rendered in both browsers, older browsers that do not support canvas and browsers with JavaScript disabled. "\u003e so it will always be centered regardless of the screen size.

Change background color

We can also make the background of our element The element can be used to render graphics through scripts (usually JavaScript). For example, it can be used to draw graphs, compose photos, or even perform animations. You can (and should) give alternative content within the block ... This content will be rendered in both browsers, older browsers that do not support canvas and browsers with JavaScript disabled. "\u003e whatever we want, so that it does not remain permanently black. The stage object has a backgroundColor property for this. We can change the value using the CSS syntax for colors. Add this line after the three recently added ones:

Game.stage.backgroundColor \u003d "#eee";

Compare your code

You can compare all of the code in this tutorial with yours and play with it to see how it works:

Following

We learned how to scale our game, so let's move on to the third lesson and find out.

IntegerScaler is a free program for scaling games with an integer coefficient. For example, in resolution Full HD (1920 × 1080) on a 4K monitor (3840 × 2160), each logical pixel is displayed as a square group of four (2 × 2) physical pixels of the same color.

Such lossless scaling can be useful for both modern 3D games and older games and games based on pixel graphics ( pixel art). See for example games SimCity 2000 (1993) (native resolution 640x480), scaled to 4K with IntegerScaler.

How to use: switch the game to windowed mode and press Alt + F11 with the game window active. If Alt + F11 does not work for a specific game, make the game window inactive, enable deferred scaling with Ctrl + Alt + F11 or the item "Scale in 5 seconds" in the IntegerScaler menu and make the game window active again.

See also Use the Firefox and Chrome extension to eliminate blurred images on web pages.

Functionality

The program simulates full screen mode for games running in windowed mode. The scaled image is displayed in the center of the screen. The area around the image is filled with a solid background (black by default).

The integer scale factor that maximizes screen coverage is automatically calculated and recalculated when the scaled window is resized when the game resolution is changed.

Scaling is not applied to flattened ( maximized) windows.

Scaling is automatically turned off when the scaled window is closed, and also temporarily turned off when the scaled window is minimized or maximized to fill the entire desktop, and automatically turned on again when the window returns to its normal (not minimized or maximized) state.

Interface

The user interface of the program consists of two parts:

  • keyboard shortcuts (hot keys) to control zoom;
  • icon in the notification area ( system tray) from the menu.

Keyboard shortcuts

Pressing the Alt + F11 keyboard shortcut enables scaling for the currently active window. Pressing it again turns off scaling regardless of which window is active.

Pressing the Ctrl + Alt + F11 keyboard shortcut enables scaling with a 5 second delay. This allows you to enable scaling even in games that block the processing of third-party keyboard shortcuts while the game window is active: just press the keyboard shortcut when notactive game window and within 5 seconds switch to the game window. The item "Scale in 5 seconds" of the program menu serves the same purpose.

The program also turns off scaling when you press the Ctrl + Alt + Delete keyboard shortcut.

Menu

Clicking the icon displays a menu that allows you to enable zooming, view program information, follow links to related web pages, or exit the program.

The program interface supports Russian and English, the language is selected automatically based on the language of the operating system interface.

Autoscale

It is possible to automatically apply scaling to user-defined games. Each game is specified and identified using the full path to its executable file (* .exe). These paths should each be specified on a separate line in a text file named auto.txt in the IntegerScaler folder.

There is no user interface for editing this list, so a third-party text editor such as Windows Notepad should be used. It is not recommended to use national symbols in paths to game files, otherwise auto-scaling for corresponding games may not work.

Command line parameters

The following are supported optional command line parameters:

Bg COLOUR

Overrides the background color that fills the screen space around the scaled image. Supported values:

  • gray - gray;
  • white - white;
  • arbitrary color in the R, G, B format (without spaces), where R, G and B are integers in the range 0-255, corresponding to the red, green and blue components of the color, respectively, for example, 64,128,192.

The default is a black background.

Clipcursor Constrains the area of \u200b\u200bmovement of the mouse pointer to the client area (the area of \u200b\u200bthe window excluding borders and title bar) of the game window. -resize WxH Resizes the game window so that the client area (the window area excluding the frames and title bar) of the window has the specified dimensions in the WxH format, where W and H are the required width and height in pixels, respectively. For example, 1920x1080. Useful for games that do not resize the window to match the in-game resolution or set the wrong size. -locale LANGUAGE

Overrides the program interface language. Supported values:

  • en - English;
  • ru - Russian.

By default, the operating system interface language is used, if it is Russian, and English - in any other case.

Nohotkeys Launches IntegerScaler with hotkeys (keyboard shortcuts) disabled. -scale [DELAY] Applies scaling half a second after the IntegerScaler starts (if no delay is specified) or with a delay specified in milliseconds.

In this example, the background is redefined to gray, the interface language to English, hotkeys are disabled and scaling is applied 3 seconds (3000ms) after launching IntegerScaler:

IntegerScaler_64bit.exe -bg gray -clipcursor -resize 1920x1080 -locale ru -nohotkeys -scale 3000

Parameters can be specified in the field "An object" in the tab "Label" in the properties of the shortcut (* .lnk) of the executable file (* .exe). You can create a shortcut using the item "Create shortcut" the context menu of the executable file, invoked by right-clicking on the executable file.

Parameters are specified with a space after the path to the executable file of the program. The parameter value is indicated with a space after its name. The order in which the parameters are specified does not matter. The parameters can be used individually, independently of each other.

Bit depth

For the program to work necessary use its version, the bitness of which (32 or 64 bit) matches the bitness of Windows.

Differences from "Magnifier"

IntegerScaler compares favorably with the standard Windows-based Magnifier:

  • only the significant part of the window is displayed - without frames and title bar;
  • the space around the image is filled with black, as in full screen mode;
  • the image is automatically centered on the screen without the need for precise mouse positioning;
  • the scale factor is selected automatically to fill the screen as much as possible.

Compatible with games

Please refer to the table for compatibility of some games with windowed mode and IntegerScaler.

Windowed mode

The program is compatible with overwhelming majority games supporting window (windowed) mode, and does not work with games running in full screen mode.

If the game settings do not explicitly switch between full-screen ( full-screen) and windowed modes, the Alt + Enter key combination may work.

HiDPI mode

It is important to make sure the game is running in HiDPI compatible ( DPI-aware) mode. It's easy to determine: the size of the game window in physical pixels (points) must match the resolution selected in the game settings. For example, a game window running in Full HD resolution at 200% system scale on a 4K monitor should not occupy the entire screen, but about 1/4 of the screen (1/2 horizontally and 1/2 vertically).

For games formally incompatible with HiDPI, DPI virtualization must be disabled ( DPI scaling) in the properties of the executable file (* .exe) so that the game window is sized correctly and free from blurring possible due to the scaling that Windows automatically applies to HiDPI-incompatible applications.

You can disable DPI virtualization for a particular game in the properties of its executable file (the Properties item of the file context menu).

Windows 10

Item "Properties" → tab "Compatibility" → section "Options" → button "Change high DPI settings" → section "Override high resolution scaling" → checkbox "Override high resolution scaling mode. Scaling in progress ”→ the“ Application ”item of the drop-down list.

Windows 10 (legacy versions)

Item "Properties" → tab "Compatibility" → section "Options" → checkbox "Redefine high resolution scaling mode. Scaling in progress ”→ the“ Application ”item of the drop-down list.

Windows 7

Item "Properties" → tab "Compatibility" → section "Options" → checkbox "Disable image scaling at high screen resolution".

Mouse

Subjective speed of movement of the mouse pointer in games that use systemic the mouse pointer can increase in proportion to the scale factor.

Administrator Mode

For scaling games running as administrator, IntegerScaler should also be run as administrator.

Aero in Windows 7

For scaling to work in Windows 7, Aero mode must be enabled ( DWM composition). The program will automatically try to enable Aero if it is disabled. This does not apply to Windows 8 and higher - there is a function DWM composition always on.

Previous versions are available through the version history (see below).

System requirements

  • Windows 7+ (32/64 bit).
  • The program does not require installation or any additional libraries.
Reviews
  • Cool thing, I have long wanted such an opportunity.
    Andrew
  • An excellent thing, in fact, it draws one pixel of the game in 4 monitors.
    Jack alligator
  • Finally I can easily play my games in FHD on my UHD monitor without getting any headache. It even runs fine with accelerated 3D-Games like Anno 1440, which could run in UHD, but with much too tiny menus, and in FHD of course blury text. It seems to run very well, not even any performance issues so far. Thank you very much!
    Passatuner
  • Thanks a lot! Works, perfectly and even scales by the amount of times compared to my desktop resolution just to be able to fit the screen as much as it can without breaking aspect ratio! Doom 2 now finally feels as it should on a big screen! Love those huge pixels.
    HiCZoK
  • So useful in preserving detail in sprite-based games when displaying at higher resolutions. Amazing software, you are doing great work for people who hate the in-built scaling of displays / gpus.
    Daniel
  • IntegerScaler is really impressive, I’ve been looking for an app that does this for years now.
    Ben
  • Works really well and the games do look awesome!
    Simone
Canard PC Review The IntegerScaler Review is published in issue # 395 (June 2019) of the French paper magazine Canard PC. see also
  • "" - an article about the essence of the issue, potential and partial solutions and progress.
  • - an extension for Firefox that disables blur for images displayed with an integer scale.
  • - fixes the size of the address bar and search field in Windows 7 Explorer at a scale of more than 188%.
Version History 2.11 (2019-12-09)
  • Supports resizing the game window and limiting the area of \u200b\u200bmovement of the mouse pointer using the -resize and -clipcursor command line options, respectively.

On the site PC Gamer an interesting analysis of graphic settings in computer games has appeared, where it is described in detail about all popular tools, filters and image processing mechanisms. We have translated it into Russian so that you can customize your games yourself, get rid of lags and enjoy beautiful graphics.

So, today we will figure out what these or those graphic settings mean in computer games.

Have Nvidia and AMD There is software to automatically adjust the graphics according to the specifications of your computer. The programs do their job well, but often manual configuration brings much more benefit. After all, we are PK-boyars, we must have freedom of choice!

If you're new to game graphics, this guide is just for you. We will decipher the main items of any Graphics Settings menu in your games and explain what they affect. This information will help you get rid of lags and freezes in your favorite game without losing a beautiful picture. And owners of powerful computers will understand how to set up the most juicy and attractive graphics to record cool videos and take spectacular screenshots.

Let's start with some fundamental concepts and then go through the tweaks in several sections on anisotropic filtering, anti-aliasing, and post-processing. To write this guide, we used information received from professionals: Alex Austin, designer and programmer Cryptic sea, Nicholas Weining, CTO and Lead Programmer Gaslamp Games and from Nvidia representatives. Immediately, we note that we are writing the article in simple words, omitting detailed technical details, so that it would be easier for you to understand the mechanisms of operation of different technologies.

THE BASES

Resolution

A pixel is the basic unit of a digital image. This is the color point, and the resolution is the number of columns and rows of dots on your monitor. The most common permissions today are: 1280x720 (720p), 1920x1080 (1080p), 2560x1440 (1440p) and 3840 x 2160 (4K or "Ultra-HD")... But this is for format displays 16:9 ... If your aspect ratio is 16:10 , the resolutions will be slightly different: 1920x1200, 2560x1600 etc. Ultra-wide monitors also have a different resolution: 2560x1080, 3440x1440 etc.

Frames per second (FPS)

If we imagine that the game is an animation, then FPS will be the number of images shown per second. This is not the same as the display refresh rate, measured in hertz. But these two parameters are easy to compare, because both a 60Hz monitor refreshes 60 times per second, and a game at 60 FPS produces exactly the same number of frames in the same period of time.

The more you load your graphics card with beautiful, detailed game scenes, the lower your FPS... If the frame rate is low, they will repeat and get the effect of slowing down and freezing. Esports players hunt for the best possible performance FPS, especially in shooters. And ordinary users are often content with playable performance - this is somewhere around 60 frames per second. However, monitors at 120-144 Hz are becoming more affordable, so the need for FPS is also growing. It makes no sense to play at 120 hertz if the system pulls only 60-70 frames.

Since most games do not have a built-in benchmark, third-party software is used to measure frames per second, for example, ShadowPlay or FRAPS... However, some new games with DX12 and Vulkan may not work correctly with these programs, which was not observed with old games on DX11.

Upscaling and downsampling

Some games have a "render resolution" setting or "Rendering resolution" - this option allows you to maintain a constant screen resolution while adjusting the resolution at which the game is played. If the game's rendering resolution is lower than the screen resolution, it will be upscaled to the screen resolution. In this case, the picture will turn out to be terrible, because it will stretch several times. On the other hand, if you render the game with a high screen resolution (there is such an option, for example, in Shadow of mordor), it will look much better, but the performance will be noticeably lower (downsampling).

Upscale and downscale

Performance

Resolution affects performance the most because it determines the number of pixels that the GPU can process. This is why 1080p console games often use upscaling to produce cool special effects while maintaining smooth frame rates.

We used our Large pixel collider (supercomputer from PC Gamer site), including two of the four available graphics cards GTX Titanto demonstrate how much resolution affects performance.

Tests were carried out in the Shadow of Mordor benchmark:

Vertical sync and frame breaks

When the display refresh cycle is out of sync with the game's render cycle, the screen may be refreshed while switching between rendered frames. The effect of breaking frames is obtained when we see parts of two or more frames at the same time.

Unpleasant frame breaks

One of the solutions to this problem is vertical sync, which is almost always present in the graphics settings. It prevents the game from showing a frame until the display completes its refresh cycle. This causes another problem - the delay in the output of frames when the game is able to display a larger number of FPS, but limited by the hertz of the monitor (for example, you could have 80 or even 100 frames, but the monitor will only show 60).

Adaptive vertical sync

It also happens that the frame rate of the game drops below the refresh rate of the monitor. If the frame rate of the game is exceeded, vertical sync ties it to the refresh rate of the monitor and it, for example, on a 60 Hz display will not exceed 60 frames. But when the frame rate drops below the monitor's refresh rate, vertical sync binds it to another sync value, for example, 30 FPS... If the frame rate constantly fluctuates above and below the refresh rate, stuttering occurs.

To address this issue, Nvidia's adaptive vertical sync disables sync whenever the frame rate drops below the refresh rate. This feature can be enabled in the Nvidia Control Panel - a must-have for anyone who always has vertical sync enabled.

G-sync and FreeSync technologies

New technologies are helping to deal with many of the problems that often stem from the fact that displays have a fixed refresh rate. But if the display frequency could be changed depending on FPS, there would be no tearing and freezing. These technologies already exist, but they require a compatible graphics card and display. Nvidia has technology G-sync, while AMD has FreeSync... If your monitor supports one of them and it matches the installed video card, the problems are resolved.

Antialiasing (Anti-aliasing, antialiasing)

If you draw a diagonal line with square pixels, their sharp edges will create a "staircase" effect. It turns out to be ugly, and the developers call this situation aliasing. If the monitors had much higher resolutions, the problem would seem miserable. But until new display technologies appear or are too expensive, it is necessary to compensate for the "ladder" with anti-aliasing.

There are enough tools for this, but it's easier to explain using supersampling as an example. (SSAA)... This technology renders frames at a higher resolution than the screen and then compresses them back to its size. On the previous page, you may have seen the anti-aliasing effect of decreasing the frequency in Shadow of Mordor with 5120x2880 before 1440p.

Visual anti-aliasing

Take a look at the tile roof pixel. It is orange in color. There is also a pixel of the bluish sky. When they are nearby, they create a rigid jagged transition from the roof to the sky. But if you render the scene at 4x the resolution, instead of one pixel of the orange roof, there will be four pixels in the same place. Some of them will be orange, some "heavenly". It is worth taking the value of all four pixels, and you get something in between - if you build the whole scene according to this principle, the transitions will become softer and the "staircase effect" will disappear.

This is the essence of technology. But, it requires a lot of resources from the system. It has to render each frame at a resolution two or more times the original screen resolution. Even with our top-end graphics cards, supersampling with resolution 2560x1440 seems impractical. Fortunately, there are alternatives:

Multisampling (MSAA): More efficient than supersampling, but still greedy. In older games, it was the standard, and its essence is explained in the video that you will see below.

Advanced Multisampling (CSAA): more efficient version MSAA from Nvidia for its graphics cards.

Advanced Multisampling (CFAA): also an upgrade MSAA, only from AMD for its cards.

Fast approximation method (FXAA): instead of analyzing every single pixel, FXAA applied as a post-processing filter to the entire scene after its rendering. FXAA also grabs places that are skipped when turned on MSAA... Although the fast approach method itself also misses a lot of irregularities.

Morphological method (MLAA): it is peculiar to AMD video cards and also skips the rendering stage. MLAA processes the frame, looking for aliasing and smoothing it. As Nicholas Weining explained to us: “Morphological anti-aliasing works with the morphology (patterns) of irregularities at the edges of models; it calculates the optimal way to remove ladders for each type of irregularity by dividing edges and teeth into small sets of morphological operators. And then it uses special mixing types for each separate set. " Enable MLAA from the Catalyst Control Panel.

Enhanced Subpixel Morphological Anti-Aliasing (SMAA): another kind of post-processing that combines details MLAA, MSAA and SSAA... This method can be combined with SweetFXand many modern games support it natively.

Temporal smoothing (TAA or TXAA): TXAA was originally designed for Nvidia grade GPUs Kepler and later. But then there were not so specific forms of temporal smoothing, which are usually denoted as TAA... With this method, the next frame is compared with the previous one, after which irregularities are detected and eliminated. This happens with the support of various filters that reduce the "creeping ladder" in motion.

Nicholas Weining explains: “The idea TAA consists in the expectation that the two consecutive frames will be very similar, because the user in the game does not move so fast. Therefore, since the objects on the screen have not moved much, we can get data from the previous frame to supplement the areas that need anti-aliasing. "

Multi-frame anti-aliasing (MFAA): appeared with the release of GPUs Maxwell from Nvidia. Whereas MSAA works with persistent templates, MFAA allows you to program them. Nvidia reps explain the technology in detail in the video below (we've talked about it before and you'll see it very soon).

Deep Learning Supersampling (DLSS): the latest Nvidia technology available in select games and graphics cards GeForce RTX... According to the company: “ DLSS uses a neural network to determine the multidimensional features of a rendered scene and intelligently combine parts from multiple frames to create a high-quality final image. DLSS uses fewer samples than TAAwhile avoiding algorithmic difficulties with transparencies and other complex scene elements. "

In other words, DLSS copes with the task better and more efficiently than TAA, but the technology needs to be prepared separately for each game. If not trained properly, many places will be blurry.


What do the numbers mean?

In the anti-aliasing settings, you often see values: 2x, 4x, 8x, etc. These numbers tell you about the number of color swatches used and, as a rule, the larger the number, the more accurate the anti-aliasing will be (and it will require more system resources).

But there are exceptions. So, CSAA tries to achieve smoothing at the level MSAA with fewer color swatches. therefore 8xCSAA actually uses only four color swatches. There are 8QxCSAA - This anti-aliasing method increases the number of color swatches to eight to improve accuracy.

Another example of anti-aliasing

Performance

We used the benchmark Batman: Arkham Cityto test some old anti-aliasing methods: MSAA, FXAA and TXAA... The results, as expected, show that FXAA requires the least resources, while MSAA and TXAA greatly affect the average frame rate.

Anti-aliasing test results in Batman: Arkham City (on two Nvidia GTX Titan SLI):

Which anti-aliasing method should I use?

Depends on your graphics card and personal preference for performance and visual quality. However, if frame rate isn't an issue, the choice is clear: FXAA most effective. If you have a video card RTX and your game supports DLSS - try it, it's not in vain that you paid for a new and very effective technology. Older games will have to tweak the settings back and forth to find the perfect combination of performance and good looks. If your system is powerful enough, you can test supersampling instead of the in-game options.

Smooth Shaven Batman

Overriding anti-aliasing settings

In theory, graphics settings in games shouldn't matter. You can simply open the Nvidia and AMD Control Panel and change everything to your liking. Unfortunately, in reality, everything works differently. Although you can override the settings for any game, a positive result is not guaranteed.

Nicholas Weining explains: "Very often, overriding settings does not work due to deferred rendering, which breaks many common anti-aliasing methods." Alex Austin from Cryptic Sea also noted that some anti-aliasing methods do not work with graphics card panel settings. So, you need to test. Try to disable anti-aliasing in the game and set it in the control panel, then go back to the game and check the result.

We noticed that MLAA from AMD works better from the control panel. But it's important to note that this is a post-processing filter that applies to all objects in the scene. Therefore, it can fix the uneven edges of the textures, but at the same time capture something unnecessary. An example is the menu in BioShock Infinite, the letters of which have become slightly smoothed.

The menu is slightly "hurt"

Supersampling with dynamic super-resolution technology (DSR) from Nvidia or virtual ultra-high definition technology from AMD is more reliable. Nvidia DSR is enabled in the Manage 3D Settings section, where it can be set up to 4x. And AMD's virtual ultra-high resolution is enabled in the "Display" tab. By activating any of these settings, you will launch the game at a higher resolution, which will be scaled down to fit the screen resolution. It will turn out beautifully, but resource-intensive. In addition, there may be problems with the interface in some games or the technology does not want to work at all.

Bilinear and trilinear filtering

Texture filtering controls how 2D images are superimposed on a 3D model. A pixel on a 3D model will not necessarily correspond to a pixel on a texture (by the way, in 3D models, pixels are called texels). After all, you are observing the model at different distances and from different angles. Therefore, when you need to find out the color of a pixel, filtering finds a point on the corresponding texture, takes several samples from nearby texels and averages them. The simplest filtering method is bilinear filtering, which selects the four nearest texels to find the color of the desired pixel.

The world is falling apart

Appeared MIP-texturing and with it a new problem arose. Let's say you're standing on a cracked concrete surface. If you look straight down, you can see a large, detailed concrete texture. But when you look into the distance, where the road goes into the horizon, you will see only a couple of pixels, and you don't need much detail there. Therefore, to improve performance without losing quality, the game will load a lower resolution texture called MIP-texture.

So, when we consider our road, we don't particularly want to see where one MIP-the image ends and another begins, because their quality is different and the transition will cut the eye. Bilinear filtering does not interpolate (smooth) transitions, so they are noticeable with this type of filtering. The problem is solved using trilinear filtering that smooths the transition between MIP-textures using samples of each of them.

Anisotropic filtering

Trilinear filtering works, but textures still appear blurry. This is why anisotropic filtering was invented, which greatly improves the quality of textures when viewed from an angle.

Anisotropic filtering dominates

To understand how this works, imagine a square window - a pixel in a 3D model - with a brick wall directly behind it as a texture. Light shines through the window, creating a square shape on the wall. This is our sampling area and is the same in all directions. Using this technology, samples are taken in the case of bilinear and trilinear filtering.

If the model is right in front of you, perpendicular to your gaze, the result will be sane. And if you look at her from an angle? It turns out blurry. Now imagine that the texture of the brick wall is deflected from the window. The light beam will turn into a long trapezoid, covering much more vertical space on the texture than horizontal space. This is the area that needs to be sampled for the pixel. This is roughly how anisotropic filtering works. She scales MIP-textures in one direction according to the angle at which you observe the 3D object.

Conceptually, this technology is not easy to understand. If, after our explanation, you still have questions, you better take a look at the explanation by Nvidia itself, which provides more detailed information on the topic (in English).

What do the numbers mean here?

Anisotropic filtering is not so common in the settings of modern games, but where it is, it can be set in the range from 2x to 16x. Nvidia explains that these numbers refer to the slope of the angle to which the filter will be applied:

“Anisotropic filtering functions with anisotropy levels between 1 and 16, determining the maximum degree to which it can scale MIP-texture. But it is usually offered to the user at 2x magnification: 2x, 4x, 8x and 16x. The difference between these settings is in the maximum angle at which the filtering will work with the texture. For example, 4x will filter textures at angles twice as steep as 2x, but it will start applying 2x filtering to textures with an angle in the 2x range to optimize performance. This will reduce the load on the system even with the maximum anisotropic filtering settings. "

Performance

Anisotropic filtering doesn't have the same performance impact as anti-aliasing, which is why it's rarely added to the settings menu these days (it's enabled by default). Using the BioShock Infinite benchmark, we noticed a decrease in the average FPS by only 6 frames in comparison between bilinear and anisotropic filtering. This is a negligible difference, given the significant improvement in picture quality. After all, high quality textures do not make sense with poor filtering.

Another example of the victory of anisotropic filtering over other methods

Graphics quality settings

The quality settings depend a lot on the game itself. In general, they increase and decrease the complexity of game effects and assets (resources, digital objects). Going from low settings to high settings can affect a bunch of variables. For example, by increasing the quality of shadows, you can increase their resolution, enable soft shadows, or change the distance at which shadows are visible. You won't know what exactly you did, but in some cases the changes will significantly improve performance.

Decreasing and increasing texture quality significantly affects performance and visual quality. In the BioShock Infinite benchmark, we set all settings to maximum and only changed the texture quality. Here are the results (when using two Nvidia GTX Titan SLIs):

Noticing the jump between low and high settings? More than ten frames per second. It doesn't seem like much. But on other systems, the difference can be much greater, because our test bench is quite powerful. There is no quick way to determine the ideal graphics quality setting for your system. This is the case when you need to test with pens. We recommend that you first try out the software tips from Nvidia and AMD, and then improve the quality of textures, lighting and shadows by checking the average FPS.

Global shading (Ambient occlusion)

Global illumination is evenly distributed over each object in the scene. For example, on a sunny day, when a certain amount of light is scattered even in the shade. To add depth to the scene, technology is combined with directional lighting, because without it the picture is flat.

Intimate shading

Global shading tries to improve this effect by determining which parts of the scene should be lit more or less. It does not cast harsh shadows as a directional light source, but rather darkens the overall interior and crevices, adding soft shading.

SSAO (obstruction of ambient light in screen space)

Almost the same as ambient occlusion, which is used in real-time rendering. In recent years, this technology has become commonplace in games, and was first seen in. Sometimes the technology looks silly, as if the surrounding objects "shine" with darkness. Other times it adds depth to the scene perfectly. All major engines support SSAOand the technology implementation depends on the game and its developers.

There are also improved variations SSAO as HBAO + and HDAO.

HDRR technology (High dynamic range rendering - high dynamic range rendering)

HDR was in vogue among photographers a few years ago. Range here refers to the brightness of an image and determines how dark or bright it can be. The goal of the technology is to make the darkest areas of the scene as detailed and distinguishable as the bright ones. An image with a low dynamic range is clearly visible in bright areas, and in the shadows all detail is lost, or vice versa.

HDR rules

In the past, the range of dark and light in games was limited to eight bits (256 values). But with the advent DirectX 10 made possible 128-bit HDRR... Although, the technology is still limited by display contrast. There is no standardized method for measuring contrast, but LED-monitors often produce a contrast ratio of 1000: 1.

Bloom effect

Notorious for being overly popular with game developers, bloom-the effect tries to mimic how bright light travels around the edges of the models, making the lights brighter than they actually are. This works, but often bloom is implemented so crookedly that ordinary table lamps shine stronger than a nuclear explosion. Fortunately, it can be turned off in most games.

Below you can take a look at the screenshot from the game Syndicate - the brightest (in the literal sense) example of the implementation curve bloom-effect.

Who blew up this supernova on the street? :)

Motion blur

It's very simple - this is a filter that simulates the sharp movement of the frame, like in a movie. Many gamers choose to turn it off. And not only because it affects performance, but also for reasons of comfort. Blur can sometimes look nice, for example in racing games (if implemented correctly). But we usually turn it off.

Depth of field (DOF)

For photographers, depth of field refers to the distance between the closest and farthest points that appear in focus. For example, if we shoot a portrait with a small DOF, the person's face will be sharp, and the hair in the back will start to blur and the background will be completely blurred. On the other hand, if DOF will be too large, the person's nose will be detailed at the same level as all the objects behind him - not too beautiful.

Based on materials from the PC Gamer website

If you go into the settings of the driver of the AMD Radeon graphics card, then in the section with display parameters you can find the option “GPU scaling”. By the way, Nvidia also has this option, it's just called a little differently.

By default, this setting is almost always enabled. But what is it for and when should it be turned on?

What is GPU scaling for?

This option is needed to automatically adjust the resolution of the image displayed on the monitor by this or that application.

For example, when you start a game, and by default it has a resolution and aspect ratio not supported by your monitor, then the video card driver with the scaling option enabled at the GPU level will correct this situation and optimize the image output as much as possible, so as not only not to appeared, but also so that there were no black bars on the sides of the screen.

When should you enable GPU scaling?

This should be done in cases where there are problems with starting games, when a signal is sent to the monitor, or if the picture on the monitor is not on