Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Glossary:Scaling

From PCGamingWiki, the wiki about fixing PC games
Revision as of 13:50, 29 April 2021 by Mirh (talk | contribs) (→‎GPU/Display scaling: added display scaling limitation note. Maybe CRU could be suggested directly but idk)
Scaling
Cave Story using pixel-perfect / integer-ratio scaling.
Definition
Examples

Scaling in relation to PC gaming loosely refers to how the game or video signal is affected by changes in the resolution or aspect ratio. The most common use case of the term is to attempt to describe how the field of view within a game is affected by changes in the aspect ratio, typically for the horizontal size of the resolution in relation to wider monitors (so 4:3 → 16:9 → 21:9). Another common use case of the term is to refer to how the graphics card or display handles a non-native video signal before displaying it.

Scaling behavior

Also known as widescreen behavior as it is often used to describe how the field of view in a game changes in relation to the aspect ratio of the monitor, commonly in relation to wider aspect ratios than the game targets (so 4:3 games on a 16:9 monitor, or 16:9 games on a 21:9 monitor).
Note that games can treat differences in the horizontal and vertical dimensions from the targeted aspect ratio differently, so while a game designed for 16:9 displays might be Vert+ on 16:10 or 4:3, it might also be pillarboxed or even stretched when displayed on 21:9, such as BioShock.
The most optimal, and preferred, scaling behaviors are Expand Aspect Ratio (Hor+/Vert+) for modern high definition games, and Pixel-perfect for games that focuses on lower resolutions or retro-based art styles.
Older games from the 80s-90s and early 2000s are typically designed for a 4:3 aspect ratio, while newer games are typically designed for a 16:9 aspect ratio.
Method Description
Maintain Aspect Ratio
Anamorphic
Letterboxed
Pillarboxed
Aspect Ratio
Fit
Stretches as large as possible, but maintains a fixed aspect ratio (usually 4:3 for older games and 16:9 for newer games) on resolutions of other aspect ratios by filling black bars as necessary in either pillarbox (vertical black bars on left and right) if the fixed aspect ratio is narrower or letterbox (horizontal black bars on top and bottom) if wider.

A game designed for 16:9 will be letterboxed on a 4:3 or 16:10 monitor, while on a 21:9 monitor it will be pillarboxed.

Expand Aspect Ratio
Hor+
Vert+
Stretches as large as possible while maintaining aspect ratio, then increases the field of view to fit the screen resolution, allowing more of the game world to be visible. Some games may only increase the field of view horizontally (Hor+) or vertically (Vert+).

A game designed for 16:9 will show more of the game world when played on a 21:9 (Hor+) and/or 16:10 (Vert+) monitor without losing any of the “reference” field of view it would have on a 16:9 monitor.

Crop Aspect Ratio
Vert-
Hor-
Fill
Stretches image to fill the whole screen, clipping parts of the screen that overlap in order to maintain aspect ratio, resulting in a cropped field of view. Some games may only crop vertically (Vert-) or horizontally (Hor-).

A game designed for 16:9 will show less of the top and bottom of the original intended field of view on a 21:9 monitor.

Pixel-based No scaling is applied, though similar to Expand Aspect Ratio the field of view is extended to show more of the game world. Visible area depends on the resolution rather than the aspect ratio, with higher resolutions showing more of the game world at once.

The game does not target any specific aspect ratio, instead it will show more additional information as necessary the higher the resolution is.

Pixel-perfect
Integer-ratio scaling
Multiplies original resolution as large as possible while maintaining pixel-perfect rendering aspect with no fractional pixel interpolation performed below the screen resolution. This allows an increase of output resolution without influencing the end result with fractional interpolation performed by a scaling algorithm (which can result in sharper/distorted or smoothed/blurred end result compared to the original resolution).

See “Pixel-perfect integer-ratio scaling with no blur” for more information.

A game designed for 4:3 640×480 and displayed on a 16:9 1920×1080 monitor will be scaled by a factor of 2 up to 1280×960, followed by being pillarboxed and letterboxed as necessary to reach the 16:9 1920×1080 resolution.

Can be forced in games that support windowed mode using IntegerScaler (free) or Lossless Scaling (commercial).

Supported natively on NVIDIA since Driver 436.02[1] and AMD since Adrenalin 2020 Edition 19.50 [2]

Stretch
Full-screen
Stretches as large as possible while ignoring aspect ratio differences. This resulting in vertically or horizontally stretched objects and other visual problems when stretched to non-targeted aspect ratios.

A game designed for 16:9 will have vertically stretched objects (e.g. “thin” characters) on a 4:3 or 16:10 monitor, while on a 21:9 monitor those will instead be horizontally stretched (e.g. “fat” characters).

No Scaling
Centered
Does not scale the image at all, keeping default size in pixels, centering it in the middle of the screen. Extremely uncommon.

A game designed for 4:3 800×600 will be in effect be letterboxed and pillarboxed without any form of scaling on higher resolutions and other aspect ratios.

The dotted terms can be references in other articles using the {{Term|Name}} template. See the full template documentation for more information.

Scaling algorithm

Algorithms
Pixel-art scaling algorithms

A scaling algorithm (sometimes referred to as a scaling filter or just filter) is a mathematical algorithm that is used when a resolution is stretched between the original resolution and the intended target resolution. As part of the scaling process, these algorithms might interpolate or resample pixels, affecting how the end results looks like. Technically any form of change in resolution can make use of an image scaling algorithm to influence how the end result looks like, but typically algorithms are only used when a pixel-perfect/integer-ratio scaling method is not available or used. Of the scaling behaviors described above, Anamorphic and Stretched in particular might often be combined with a scaling algorithm to “smooth” the end result.

More commonly used for 2D or pixel-art based games, although some 3D games with caps on the internal render resolution might also use one for output resolutions above the render resolution.
Multiple scaling algorithms might be relevant or in play in certain scenarios. For example, a game might use one algorithm internally when stretching/scaling internal render elements from one resolution to another during the rendering process, and then the game might use an overarching algorithm when resizing the final rendered image to whatever output resolution is selected, and the GPU and/or display might need to perform some scaling on its own afterwards and smooth/affect the result using its own algorithm.

Common algorithms:

  • Nearest-neighbor interpolation (nearest)
    The cheapest and most simple algorithm to use when resizing between resolutions. Typically introduces aliasing when enlarging an image using improper fractions.
    Does not account for the aspect ratio of each individual pixel, which may result in different rows or columns of pixels being wider than others unless a pixel-perfect output resolution is used.
  • Bilinear and bicubic algorithms
    Often used by GPUs or displays when scaling an output resolution unto the native resolution of the display, something games making use of pixel-perfect scaling method tries to prevent.
  • Sinc and Lanczos resampling
  • Various pixel-art scaling algorithms:
    Examples: Scale2x, hqx, Eagle, 2×SaI, xBR, edge-directed interpolation (EDI), etc.
  • Deep convolutional neural networks
    Examples: DLSS

GPU/Display scaling

GPU scaling allows the GPU to determine how non-native resolutions are displayed on your display. If configured to perform scaling on the Display, the video scaler of the monitor will determine it instead.
TVs and other uncommon types of displays may crop the edges of the image, or show it surrounded by black borders. GPU scaling does not affect this; see Overscan/Underscan for solutions.
GPU scaling is not available when using a VGA connection, because only the receiver can do it.[3]
Display scaling is not available on Nvidia G-Sync certified monitors (as those lack an internal video scaler), and it will also be ignored when trying to use a resolution not advertised in the EDID[4]
GPU scaling: Fullscreen / scaled
Full-screen / Scaled

In this mode the output stretches to fit the monitor, often with unwanted results (e.g. fat characters).
Some non-widescreen games have a setting for use with this mode to make the stretched output have the correct widescreen aspect ratio; this is referred to as anamorphic widescreen.

GPU scaling: Maintain aspect ratio
Maintain aspect ratio

In this mode the output expands to the biggest size while retaining its original aspect ratio. The unused space is left black.

GPU scaling: Centered / no scaling
Centered / No scaling

In this mode the output displays at its original resolution. Graphics are sharp and have the correct aspect but the result may be very small depending on the resolution of the output and your monitor.

AMD

GPU scaling settings for AMD cards
GPU scaling settings for AMD cards
Configure scaling[5]
  1. Open the AMD Radeon Software
  2. From the main view choose Settings (Top Right)
  3. Choose Display
  4. Select Display ID to change
  5. Change GPU Scaling to On
  6. Choose Scaling Mode or Integer Scaling On/Off
  7. When a non-native resolution is selected in game, this setting will be utilised.

Nvidia

GPU scaling settings for Nvidia cards.
GPU scaling settings for Nvidia cards.
Nvidia Optimus GPU scaling is controlled by the Intel driver; see Intel for details.
Built-in scaling is not supported by some displays (e.g. laptops) so will be greyed out in those cases.
Configure scaling
  1. Open the Nvidia Control Panel.
  2. Expand the Display section if it is collapsed.
  3. Select the Adjust desktop size and position page.
  4. Select the relevant display (if you have more than one).
  5. Under the Scaling tab, configure Perform scaling on as desired:
    • GPU - The video scaler of the Nvidia graphics card will scale non-native resolutions as configured before sending the video signal out to the display. This is the only option available on G-Sync monitors.
    • Display - The video scaler of the Nvidia graphics card will not scale non-native resolutions. Instead the video signal will be sent untouched to the display, which will then scale it as configured on the display itself.
  6. Then select the appropriate scaling mode as well if the GPU performs the scaling, or do so in the settings of the display if configured to perform scaling. See the descriptions above on what the available options mean.

Intel

GPU scaling settings for Intel cards.
GPU scaling settings for Intel cards.
Configure scaling[citation needed]
  1. Launch the Intel Graphics Control Panel.
  2. Choose Display Settings or General Settings (depending on the driver version).
  3. Change the Scaling or Display Expansion option accordingly (depending on the driver version).
  4. Click Apply.
On some older Intel drivers this setting is behind an Aspect Ratio Options button.


References