Resolution Quality

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
Post Reply
User avatar
drakovyrn
Posts: 60
Joined: 17 Feb 2017, 03:51
Contact:

Resolution Quality

Post by drakovyrn » 05 Jan 2019, 22:14

Hi, I've been trying to play OpenMW at a lower resolution so that it runs faster, but there's a bug that prevents me from playing it like that permanently.

My monitor is 1680x1050, and I've tried to set it to 1280x800. It works -- or at least for while I'm playing the game. Once I quit and open OpenMW again later, the game window will open at the same resolution, but at a 1:1 scale, so that it sits in the upper left corner smaller than my screen, instead of filling the entire screen, as it should.

I can't seem to find any specific settings to force the game window to fill screen, but I would really like to be able to play with a lower scale at my full resolution.

Windows 7 64-bit, haven't tried it on Linux
OpenMW v0.44, haven't tried nightlies
Intel Core-i7 w/ integrated graphics

Chris
Posts: 1536
Joined: 04 Sep 2011, 08:33

Re: Resolution Quality

Post by Chris » 06 Jan 2019, 00:35

I'm thinking it would be a good idea for OpenMW to avoid exclusive fullscreen mode changes. Instead, for fullscreen it should always set to use the desktop resolution, but use a renderbuffer of the desired size that gets scaled by the video card when drawn to the backbuffer. This would have a number of benefits, including non-destructive "mode" changes (when you change the screen resolution, you essentially lose and have to reload any active gfx resources), quick and OS-agnostic mode changes (you're just creating a new GL renderbuffer, not toying around with OS/DM functionality on top of rebuilding the render resources), fewer compatibility problems (some systems can have side effects when changing the video mode, such as HDMI audio devices disappearing and breaking audio, or background windows and desktop icons getting moved around), and more flexibility (not limited to the list the OS/driver provides, you can use custom scaling filters for a cleaner scaled image, you can add letter-boxing or pillar-boxing to maintain aspect ratio, you can even use a greater-than-native resolution to get a form of super-sampling). And you still get the performance benefit of rendering at the desired resolution.

As it is, in a post-CRT world monitors use a fixed resolution anyway. When you change the video mode to a non-native resolution, the monitor is applying its own scaling to the image it gets from the video card, usually quite poorly. Having the app itself do the scaling instead would give the aforementioned fullscreen benefits, and it would also benefit windowed mode (lower resolution render for more performance, or a higher resolution to get super-sampling in a window, without affecting the size of the window). And if for some reason you absolutely need to run at a specific non-native fullscreen resolution, there are likely to be utilities to set the fullscreen resolution prior to launching the game, so the game itself doesn't need to worry about it.

User avatar
drakovyrn
Posts: 60
Joined: 17 Feb 2017, 03:51
Contact:

Re: Resolution Quality

Post by drakovyrn » 06 Jan 2019, 00:45

@Chris

That makes sense, but I suppose that's an implementation I will have to wait for?
I've been playing this game called Redout and there are two settings of interest -- Screen Resolution, and Resolution Quality. I have resolution set to native, but I have resolution quality set to 60%. It looks like a giant PSP screen, but it makes the game run much faster. This is essentially what I'm trying to do with OpenMW, I just don't know how to keep it at the quality I want without the screen resolution shrinking.

Chris
Posts: 1536
Joined: 04 Sep 2011, 08:33

Re: Resolution Quality

Post by Chris » 06 Jan 2019, 01:15

That's essentially how this system would work. Screen Resolution would always be native (except for Windowed mode, where it can be any valid window size) and Resolution Quality would just be called Resolution and be set using pixel counts instead of a relative percentage.

User avatar
psi29a
Posts: 4525
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Resolution Quality

Post by psi29a » 07 Jan 2019, 12:55

That is how nvidia handles things on windows and linux, the binary blob keeps the native resolution and then up/down-scales as needed.

xrandr complains about this and wine even says to avoid nvidia blobs and use anything else.

AMD/Intel and all FOSS drivers do it differently....

I've no idea who is 'right' here.

Chris
Posts: 1536
Joined: 04 Sep 2011, 08:33

Re: Resolution Quality

Post by Chris » 08 Jan 2019, 00:52

If the app does it, it would avoid the issues of the driver interfering with things, too. As far as the window environment is concerned, we'd simply have a (borderless) window covering the screen, and what we draw and how we draw it is all our prerogative.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests