-2

Question : What are the uses of changing display resolution in full screen mode in GAMES and should it be allowed?

More info : The way i see it,

Privilege perspective : When you request your window manager for a window context, you also have the option via a flag usually to set the window to a fullscreen mode, In fullscreen mode, you can set the window resolution to a resolution of your choice usually from a given list, In most cases, that will change the display resolution, affecting your desktop environment, Should a program that is not your window manager have control over your display monitor?

Bugs : OS / Software depended in mind, When a program faults and trigger a crash, if the program fails to exit correctly, You may still end up with the same resolution asked by your software (also applies to gamma ramps when not using shaders).

Practices : Since the dawn of pc video games as far as i know, You always ended up having a "Native resolution" and everything just getting re-scaled to it, In today's world, You also have "Dynamic resolution scaling" methods and other tricks with frame buffer objects, Do we gain any benefit from actually changing the display resolution?

Performance wise, You can always change other settings to improve performance, Not just resolution.

Aspect ratio in mind, If your display monitor by default is using 16:9 for your desktop environment, Would you actually change it to something else? Obviously you should have the option, but should it be changed through a software that is not your window manager?

Thanks in advance, I may end up revising the question during the first few hours after posting.

Illasera
  • 90
  • 9
  • You mean the display resolution and aspect ratio, ie 1920x1080 vs 1024x768? One reason is obviously performance, another letting the user choose a custom aspect ratio or resolution that best fits the output device. Some of what you wrote is unclear, for instance what exactly is a "display manager"? – CodeSmile Sep 24 '14 at 13:27
  • Changed "display manager" to "window manager" to make it more clear, sorry for using the wrong term, And correct again, I do mean display resolution, Now setting the "aspect ratio" aside, As mentioned before, When it comes to performance, There are other methods to achieve a similar effect such as "dynamic resolution scaling" As far as allowing the user to choose the resolution he may wish to set for himself for the software that he is using, Should it be allowed with respect to the categories mentioned in my post? – Illasera Sep 24 '14 at 13:34
  • I really don't get what you're after. Changing the display resolution isn't rocket science nor is there any question that a modern 3D game should allow changing the resolution. Dynamic resolution scaling is almost exclusively used on consoles, where content is rendered at a lower resolution (ie 600p) and then upscaled (ie 720p) using the GPU's hardware scaling or a shader. The sole purpose of doing so is to meet a framerate target on an otherwise fixed hardware. On PC you don't need that, you just let the user lower the resolution or tweak settings if she's dissatisfied with fps. – CodeSmile Sep 24 '14 at 13:49
  • 1
    "Changing the display resolution isn't rocket science nor is there any question that a modern 3D game should allow changing the resolution" Actually yes, That was my question, and that is the lead i am looking for, Should it be allowed? once again with respect to what i have posted above when it comes to Bugs and Privileges. – Illasera Sep 24 '14 at 13:59

1 Answers1

0

Always pick nice defaults that don't change the display mode on launch. If the user wants to go to the graphics settings page and set it to 1024x768 full-screen mode though, let them - they probably know what they're doing.

As for performance, there can be reasons to use non-native full-screen. In addition to the performance benefit you get from drawing fewer pixels, you get access to fixed-function hardware that scales up the image on scan-out. If you scale up in the renderer itself, this is at least one extra full-screen read + write. If you're fill-rate bound, this can impact your framerate.

Something to consider though is that if you have any kind of post-process pass, you will usually be doing a read+write anyway, so you can do scaling at the same time effectively for free. Also, using native resolution for your final target is the only way to get crisp edges for things like text. Often, a game will use a scaled down target for 3D rendering, and merge with a native-resolution overlay.

In a nutshell:

  • Pick good defaults (windowed, or windowed-fullscreen native resolution).
  • Allow the user to set the window target resolution and mode (windowed, windowed-fullscreen, or fullscreen).
  • Allow the user to independently select the 3D resolution scale factor (25% - 200%).
  • Always draw the HUD and any text at the window target resolution.
MooseBoys
  • 6,641
  • 1
  • 19
  • 43