Download

UE4 Bypasses GPU Scaling Option? Always Stretches to Fullscreen...

I can only speak of the UT4 Pre-Alpha builds and the UE4 Demo’s. I have an AMD GPU with its Scaling options set to either ‘Maintain aspect ratio’ or ‘Use centered timings’, but when I set the ingame resolution to 4:3 or 16:10 via the ini configs or ‘r.SetRes’ command then the UE4 engine simply stretches the resolution to fill the entire screen.

Is there another command I’m missing or is this broken? The only way I can force the correct aspect ratio is to change the desktop resolution before hand, which is annoying as I have to keep changing it back after I’ve finished playing/testing.

I have the AMD HD7870 with latest drivers on Win7 64bit.

Fullscreen will always stretch to the screen size, if you want a different aspect ratio than what your screen is, then you need to run in windowed mode.

That’s obvious, and a rather pointless post, unless you’re speaking on behalf of the UE4 team and telling me that UE4 does not support custom fullscreen resolutions that maintain aspect ratio. I find this hard to believe as all previous Unreal engines and all other PC games support this without running in windowed mode.

Many games do it that way, why is that surprising?

Questioning this fundamental option for a PC game is honestly baffling me. It’s surprising that you don’t seem to take this seriously. If I wanted to play at a lower 4:3 resolution at fullscreen without stretching on wide-screen monitor, I should. This shouldn’t even be an argument.

It might have been an issue with old games before widescreen monitors were popular, but since there’s not much reason to run a game that way it’s not surprising if that feature isn’t supported.

I’ll give you two reasons: preference and performance.

  • Preference for those who’ve played other FPS’s like Quake/UT/etc at 4:3 resolutions who don’t/can’t adjust just as well for wide screen and wider FOV.

  • Performance, well this is obvious.

You can set any resolution, so a different aspect ratio isn’t necessary for that. And you can set any FOV you want for your game, so setting a different aspect ratio isn’t necessary for that either.

I wonder if you are seeing the results of “windowed fullscreen” which is what UE4 defaults to. We expect most games would want to offer “windowed fullscreen” vs “real fullscreen” as an option. Windowed fullscreen allows you to tab out of the game very quickly without your monitor adjusting while real fullscreen would take advantage of your GPU/monitor’s scaling and will generally run a bit faster.


static TAutoConsoleVariable<int32> CVarFullscreenMode(
	TEXT("r.FullScreenMode"),
	2,
	TEXT("Defines how we do full screen when requested (e.g. command line option -fullscreen or in ini [SystemSettings] fullscreen=true)
")
	TEXT(" 0: normal full screen (renders faster, more control over vsync, less GPU memory, 10bit color if possible)
")
	TEXT(" 1: windowed full screen, desktop resolution (quick switch between applications and window mode, full quality)
")
	TEXT(" 2: windowed full screen, specified resolution (like 1 but no unintuitive performance cliff, can be blurry, default)
")
	TEXT(" any other number behaves like 0"),
	ECVF_Scalability);

You can change that behavior on the console with the command r.FullScreenMode 0 before you use r.SetRes.

Perhaps you’ve misunderstood my initial problem. If I set a resolution of 1440x1080, which is a 4:3 aspect ratio, the UE4 engine will stretch it - bypassing the “do not stretch” option in my GPU Control Panel.

GPU control panel settings are not always going to actually work on a game though.

Check the post above yours, you can set a borderless fullscreen where it will do whatever aspect ratio without stretching

I can only test from the latest UT4 pre-alpha build:

r.FullScreenMode is already 0.

Using the r.SetRes command does not change the resolution, be it different aspect ratio or the same, it just makes the screen go blank for a few seconds then reverts back to the same resolution. However, If go back to windowed mode with the new resolution via the UI then it changes resolution whilst going into windowed mode, and the same applies when going back to full screen mode via the UI with the newly chosen resolution, but any resolution which isn’t a 16:9 aspect ratio is still stretched.

Hey furiio, did you ever have any luck with this? I’ve just run into the same/related issue. My game is intended to be player widescreen letterbox (21:9 aka 2.4:1 cinemascope) at a resolution of 1920x804 on a 1080p monitor. No matter what I try, I can’t go fullscreen and keep my aspect ratio (with black bars at the top and bottom)! It either stretches the 21:9 aspect to 16:9 (yuck!) or re-scales the resolution to 1920x1080. The only option that works is going windowed, which I don’t want to do. Why are these seemingly simple things so frustrating in UE4? Has anyone managed to force an aspect ratio in fullscreen?

No, it’s still an issue.

I have a custom resolution; 1440x1080, which my monitor supports however an in-game value of 1440x1080 just fills a 1920x1080 screen and stretches the image. Yet a 4:3 resolution less than 1440x1080 such as 1360x1024 does enable the 1440x1080 resolution on the monitor but it enlarges itself to fill the screen space instead of being a 1:1 centred image.

I would realy like a fix for this too. I have problems with the input (especially mouse) and this game does not feel good on native resolution. I have tried everything like mousepolling, dpi, disable crossfire in driver, settings on lowest, cap fps @ 100 120 or just uncap (250+) disabled all mousesmoothing etc. etc. I can’t get this game right and im starting pulling out my hair now because ingame im the biggest noob atm (lol).

Love ut btw

i also would like to be able to run this game in 4:3 resolution, since its how many many people play PC fps & have for years. UT4 is the only game i have ever had an issue with like this in the 20 years i have been playing games. i just want my 144hz monitor @ 1280x1024 blackbars(aspect ratio scaling). why does this game override my monitor & gpu scaling options.