3
\$\begingroup\$

Lots of new games use Resolution Scaling as an option. At first I thought it was just Super-sampling but it does not appear to remove aliasing so I'm assuming there is more to it than that.

I guess my question is, how are developers implementing this? I'm assuming it means multiplying the width and height of the various rendertargets, and then what?

\$\endgroup\$
2
  • \$\begingroup\$ Resolution scaling goes in the opposite direction - it draws to a lower res render target as a performance optimization in order to maintain higher framerates. \$\endgroup\$ Aug 25, 2017 at 21:17
  • \$\begingroup\$ Some games do that, but lots of modern games allow things like 200% resolution scaling. \$\endgroup\$
    – user90214
    Aug 25, 2017 at 21:41

1 Answer 1

1
\$\begingroup\$

Google gives me this:

For those that don't understand, a simple way to look at Resolution Scaling is that you set the game into a windowed mode then full-screen that. Let's say your screen is 1280x720 pixels, you set the "windowed mode" resolution to 640x480, then full-screen the 640x480 rendering

Source

Implementation-wise, you simply render to a texture at lower resolution than the screen, then render that texture to the screen.

Many render techniques nowadays involve post processing, so by default you render to a texture with the same resolution as the screen, apply some changes (blur, bloom, flares, etc), then send the whole thing to the screen.

To speed up performance you can make that intermediate texture a lower resolution than the screen. You can then decide to apply the post processing to the same low resolution, or if you want to apply post processing to a high resolution image.

If there is a "Resolution Scaling" setting that allows higher resolution (200%) and doesn't remove anti aliasing, that can have 2 possible causes:

  • Some sources of aliasing don't simply disappear by using twice the resolution. (that's why some anti aliasing settings allow you to specify 2x,4x,8x,16x)
  • Some aliasing may be part of the post processing effects which may run at the target resolution.

I'd really need to see a screenshot to make an educated guess at what's going on.

\$\endgroup\$
2
  • \$\begingroup\$ Thank you this explains it. I guess the question I have left, is don't I want to render back to the normal size image afterward in order to avoid the screen being stretched? \$\endgroup\$
    – user90214
    Aug 25, 2017 at 21:49
  • \$\begingroup\$ @user90214 You avoid screen stretch by keeping a fixed aspect ratio. So if you render to a square screen, the intermediate texture you render to must also be square. If you render to a 16:9 screen the intermediate texture needs to be close to 16:9 (probably half a pixel off due to rounding). And if you render to a resizable window you need to change the intermediate texture every time the window is resized. \$\endgroup\$
    – Peter
    Aug 25, 2017 at 21:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .