skullernet / q2pro

Enhanced Quake 2 client and server
GNU General Public License v2.0
247 stars 85 forks source link

[question to users] Removing vid_modelist support #278

Open skullernet opened 1 year ago

skullernet commented 1 year ago

I wanted to improve multi-monitor support in Q2PRO, but unfortunately the current method of specifying a list of fullscreen video modes via vid_modelist is getting in the way, because it assumes a single monitor. So I was thinking, maybe it's time to remove it altogether, and make Q2PRO always run in current "desktop" video mode?

Surely, ability to run in different (reduced) video modes has been important 25 years ago when Quake 2 was released to squeeze more performance, but it is not the case nowadays when even low-end integrated GPUs are fast enough to render Quake 2 at hundreds of FPS at 4K resolution. I don't think I've ever needed to run Quake 2 in non-default video mode in the last 15 years or so.

So the question is, does anyone still use the functionality of changing video modes from within Q2PRO? If yes, for what purpose?

neveride84 commented 1 year ago

Hi skuller. I've helped many users set up their configs in the past weeks. This is due to a comeback of many people for the polish league. Many of them play in non-native resolution. I find it strange, but they claim they are used to playing like that and they do not want to change it. I think that inability to set their resolution would be a big no for many of them. They do not need vid_modelist, but they do need ability to set their preferred resolution.

darkshade9 commented 1 year ago

There's a handful of players who use lower-than-native resolutions for Action Quake, simply as a matter of preference and not a technological limitation. Would it be possible to have both options, a 'legacy' mode that allows users to set their preferred resolution, and the 'modern' (default) mode for supporting more enhanced features like multi-monitor support?

Paril commented 1 year ago

The better option nowadays is to always use native resolution, but do a render scale (render to framebuffer) to allow the behavior of "switching video modes". This is the best of both worlds: you get the best response from the monitor, less flickering when changing to/from the app on Windows 10+, and you can draw the 2D elements (HUD) without any scaling to keep the HUD crisp even if you're using a lower resolution framebuffer.

skullernet commented 1 year ago

Thanks for answers. I guess ability to change video mode would have to stay if players are still using it. Even though I fail to understand why would someone prefer playing at lower resolution unless performance is the issue (which shouldn't be the case today unless you play on really antique hardware).

The better option nowadays is to always use native resolution, but do a render scale (render to framebuffer) to allow the behavior of "switching video modes".

I might try it, but I expect this method to be slower than rendering at native resolution without scaling.

skullernet commented 1 year ago

I might try it, but I expect this method to be slower than rendering at native resolution without scaling.

Just tested it, since framebuffer code was already in place for water warp effect. It's actually not that bad (on GTX 1050 Ti):

Maybe this is indeed a way to go if people prefer blurry/pixelated look?

Paril commented 1 year ago

There'd be a slight decrease in perf, yea, but it'd be negligible. The upside is it allows modern OSes to use the optimized flip model, which doesn't need to do flickering when alt-tabbing out.

skullernet commented 1 year ago

I'll try to wire this up with viewsize and it would be nice to have some feedback if this is acceptable replacement for changing video modes.

Paril commented 1 year ago

It probably won't look identical to screen size changing (depending on the monitor) but it might be close enough; you might have to get a beta/test build out so the people who absolutely need this feature to play can test it out

neveride84 commented 1 year ago

Even though I fail to understand why would someone prefer playing at lower resolution

Some players are used to playing in 4:3 instead of 16:9. Some just prefer the pixelated look, because they believe they aim better using this old school resolution (some play in 640x480!). Some are just used to playing that way and do not want to change it. Those may not be reasonable reasons, but if they make them use this functionality, then it is best to keep it in my opinion.

darkshade9 commented 1 year ago

Gaining the flip model is big for me, I alt-tab all the time and the flickering/hitching when alt-tabbing drives me crazy

ocelot77 commented 1 year ago

Hi skuller - I'm here because I actually have a multi-monitor issue. When running Q2PRO, when set to either 'desktop' or my resolution of 3840x2160, it displays too large and off center, spanning (down, in my case) to my secondary monitor and shows most of the image on my main monitor and the rest on the 2nd monitor, if that makes sense. I tried turning that monitor off and it still happens. Any tips? UPDATE: I downloaded from skuller.net and now it's working. Before, I was using tastyspleen's 'Quake II Starter'