Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

It seems to me that it would be more logical, reusable and user-friendly to implement flexible, responsive UI layout over a 3d or 2d screen, which can then be run on any screen resolution.

Some modern games auto-detect screen resolution and adjust the game to that, but the option to change the resolution still remains in the settings.

Why is this option there?

My guess is that this is one way to provide older machines with a way to improve performance by rendering less graphics and just stretching them across the screen, but surely there are better ways of improving performance (choosing different texture and model qualities, for example).

share|improve this question
1  
In addition to what's said here, I think some games also choose one of the lowest resolutions as being 'safe': nearly all hardware configurations will support it, so the games starts without crashing, and then the user can change the resolution in-game. –  MicroVirus Apr 22 at 10:27
    
@MicroVirus I very much second this one, starting with a safe and likely to launch mode is a good plan on a very variable pleform. –  Vality Apr 22 at 16:32
4  
"It seems to me that it would be more logical, reusable and user-friendly to implement flexible, responsive UI layout over a 3d or 2d screen" - It seems to you, but in practice it's often easier and cheaper to not do that. –  Superbest Apr 22 at 18:07
    
@Superbest: As a counterargument, World of Warcraft switched to a "fixed size logical UI"(ish). The UI is 768 "scaled pixels" high, and an aspect-appropriate width: wowwiki.com/UI_coordinates (usually 1024x768, 960x768, or 1229x768) –  Mooing Duck Apr 22 at 21:18
    
Perhaps a responsive UI layout fine where a game does not require high actions per minute. I know some WarCraft and StarCraft players prefer a fixed layout so they can take advantage of their muscle memory. –  Sun W Kim Apr 23 at 21:52

7 Answers 7

This lets the user choose the game's quality versus its performance. Some prefer higher-quality graphics settings on a lower resolution, others the opposite. Some computers can handle maximum settings on everything, some can't.

Devices with homogenous hardware (PlayStation, Xbox, iPhone...) usually don't offer graphics settings for this reason.

share|improve this answer
4  
Worth noting that performance of some games highly depends on screen resolution. Try lowering your game's res if it's under-performing to see if that's the case. –  user1306322 Apr 23 at 16:30
1  
Also worth noting that lowering resolution will address performance bottlenecks occurring as a result of inadequate GPU fill rate and shader throughput. Shader quality is not always linked to resolution but for ambient occlusion, anti-aliasing and other edge detection, it may well be! –  Gusdor Apr 24 at 11:49

There is no way to completely reliably detect the correct screen resolution.

One approach is to simply leave at the user's desktop resolution. This is annoying, as I know a number of people (some with visual impairments) who prefer to run their desktop at a lower resolution to make things look larger, but still prefer games at the native resolution where small text and details are rarer and less critical.

Another approach is to consult the monitor's supported modes list. This is similarly unreliable: Some monitors provide no mode list or provide it incorrectly. Some provide resolutions higher than the native one, which they are able to hideously down-sample while taking a performance hit...

In a way, your question applies to any setting a game provides. "Why should I ask the user when I can guess what's best for them?" Why would I ask they about quality settings when I can detect their hardware? Why would I ask about FOV if I know what the game looks best with? Why should I let users turn of AA if their computers can handle it? This more general question highlights the real answer, which is twofold:

Your guesses are sometimes wrong, as you'll not always have the correct hardware information to make a good guess. What if a user's graphics card is bugged, causing the computer to crash at a certain resolution and you don't let them disable it? Your game is now useless to them. Also, users like choices. Perhaps someone prefers the fuzzy look of playing at a non native resolution even though it is "wrong". Perhaps they have a CRT monitor which supports many resolutions and the optimum one is not the highest, or they get better refresh rates at a lower one.

In effect you cannot judge accurately what the user wants based on information from the computer, neither can you accurately judge what will work best. It is best left to the user (who knows their own computer) to decide.

(Note I've only covered PC here. Consoles are a different story, but have already been covered by others.)

share|improve this answer
16  
+1; this particularly annoys me in games which do not give me a gamma slider (or at least a brightness setting). It's great that you found a look that you think makes your game look best on your monitors, but your monitor is not my monitor, and I @%&$ing hate dark environments where I can't see. I don't care if the black-on-black is "the point" of your stealth level, I want to see what I'm doing. –  Brian S Apr 22 at 16:36
1  
"what if a users graphics card is bugged causing the computer to crash at a certain resolution and you will not let them disable it" ah, the good old days with D2 and the barbarian's battle cry that always crashed my computer :) –  Stop forgetting my accounts... Apr 23 at 1:35
    
You can pretty reliably detect native resolution, the resolution of the desktop is a good indicator. Virtually everyone runs that at native res, and it is at least a good starting point. However that doesn't mean you shouldn't offer the option to change it. For my current project, full screen will only work at native (desktop) resolution, and if people want to lower it for whatever reason, then either go windowed mode, or it would change the back render target size and just let the graphics card stretch it. –  Programmdude Apr 23 at 9:10
2  
I had a recent experience beta-testing a game which I will not name as it's still unreleased, which in lieu of proper graphics settings auto-detected the user's screen resolution. It ended up so badly that it rendered the game completely unplayable for a lot of testers, and the workaround that the devs suggested was to change the monitor's screen resolution or refresh rate, and even that didn't work for everyone. Thankfully, this auto-detection is only part of the beta and the final game is presumed to have screen resolution options. –  BoltClock Apr 24 at 14:30
    
@BoltClock I understand that feeling entirely, my own monitor (A fairly high end Dell ultrasharp) reports a bogus list of modes, if software just looks for the highest one and displays it either I get weird graphics artifacts or it will not display at all. –  Vality Apr 24 at 14:36

There are a VAST number of reasons to allow the user to control the settings for their game.

  • MANY people have 2 (or more) monitors these days. The user should be able to determine which one to play the game on.
  • There are thousands of different devices a user could be using, and no way to reliably tell what setting would be optimal for every one.
  • Some users may prefer less than "optimal" settings for reasons ranging from better game performance, to poor eyesight (lower resolution = bigger text!).
  • Some users may prefer to play the game windowed, so they can have their chat boxes, walkthroughs, music player, or other programs visible at the same time as the game.

That said, many games DO auto-detect, and then set the initial settings to whatever it thinks is the best your machine can handle.

share|improve this answer
1  
Excluding windowed mode, are there any games that let you choose which monitor to run on? I've been multi-monitor for a number of years and don't ever recall a full screen game giving the the option to run on something other than my primary display. –  Dan Neely Apr 22 at 18:17
    
I can't recall specifics, but I've had at least a few games take over my secondary monitor, and I've occasionally had games that changed my monitors settings ... If I've got the resolution on my monitor other than the default ... well there's probably a reason. –  aslum Apr 22 at 19:03
2  
I've seen quite a few games with this as an option, usually called 'display adaptor' in the menu. EVE Online is one example. –  Ben Apr 23 at 11:00

That's because the cost and effect of texture quality, geometry detail and screen resolution are very hardware-dependent.

The texture quality usually does not have much impact on the speed of the rendering pipeline, but only when they are read from GPU memory. When not all textures fit into the GPU memory, they need to be read from normal RAM or even worse from the hard drive cache, which affects performance negatively. Reducing geometry* and omitting expensive effects** won't help much. But when the execution speed of the rendering pipeline is the bottleneck, reducing texture resolution won't help much either.

Vertex shaders are usually unaffected by the output resolution. The only way to reduce the load on them is to reduce quality and quantity of the 3d models in the scene.

But any pixel shaders still scale linearly with the number of pixels on the screen. Reducing the screen resolution is still an important tool to improve performance. Having half the horizontal- and vertical resolution means you have just a quarter of the calls to the pixel shaders.

In contrary to the older CRT displays, modern LCD or plasma screens have a native pixel-resolution. When they are fed with a video stream in a different resolution, they need to interpolate. Some interpolate much better than others which means that running them on a lower resolution doesn't reduce the picture quality a lot while other monitors really look bad when not run on their native solution (the first LCD screen I owned used nearest-neighbor interpolation, which looked horrible. With my current screens, it's hard to tell when they don't run on the correct resolution).

The game engine can not know how well the monitor of the user interpolates, so it's better to leave the choice to either reduce texture and geometry detail or reduce the screen resolution to the user.

*) OK, reducing geometry might help a bit because vertices also consume GPU memory.

**) unless, of course, omitting these effects means that some textures are no longer required

share|improve this answer
1  
Just to nitpick: CRTs have a "dot pitch" which means that they really DO have a native resolution. The phosphors in a CRT have a decay time which means a CRT has an ideal refresh rate as well. –  Zan Lynx Apr 22 at 16:06

Not only the predefined resolutions settings make it possible to react with performance in some way, but creating a universal approach, which fits all kinds of resolutions, ratios and dpis is just way much harder to create.

If you create only few different resolutions, then it is user worry to choose best looking for him (especially when his resolution/ratio is unusual). If you make one universal design, you are responsible for making the game looking perfect on all the devices (could be especially hard on mobiles nowadays, espiecialy not on iOS, but on the other platforms with a huge variety of devices).

share|improve this answer

Additional reason: Changing environments.

1080 is now standard, but wasn't 5 years ago. 4k is entering the picture and how long until 6k/8k/1080k (or whatever) enters the picture? What about gaming on an 8 year old computer that tops out at 1280x720? 1024x768? 640x400?

My monitor supports 4k native, but It'd choke on the bandwidth required and max out at 30fps. Let me switch to 1080 (or lower) so that the game runs at 60fps and the text/hud/etc isn't microscopic.

(Additionally: Give me windowed / maximized windowed as well please so I can tab around easily lol)

share|improve this answer
3  
1080k... That's 1 million times the amount of pixels in a 1080p display. That's 2 trillion pixels, would require at least 8TB of VRAM and requires around 4000 terabits/s to drive. I would really like to see such a display, and the amount of power it would consume... –  Panda Pajama Apr 23 at 14:51

My guess is that this is one way to provide older machines with a way to improve performance by rendering less graphics and just stretching them across the screen, but surely there are better ways of improving performance (choosing different texture and model qualities, for example).

That's not so simple. A game can run slow on my machine because it's stuck on fragment processing (perhaps lots of particle effects like smoke). Reducing model quality wouldn't take much load from here, and neither would reducing texture quality. On the other hand, decreasing the resolution reduces the load dramatically here (a switch from 1920x1080 to 1366x768 cuts the number of pixels to process by half).

And if my screen happens to be big - like a TV (like my current setup - I pretend my PC is a bigger xbox) - then, in a given viewing distance, bigger resolution doesn't give me much. So I have a good reason to turn the resolution down and perhaps even use the extra processing power to have more detailed lighting or shadows.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.