Hello,
I am having issues with the fullscreen mode behaviour and resolution settings.
Please see my questions below.
Issue 1: Full Screen Setting Only Renders on Partial Screen Area
When setting the game to full screen mode with a resolution lower the monitor’s native resolution, then unfocusing and refocusing the window, the game renders only in the top-left portion of the screen. Although the options menu shows the game is set to full screen, it’s only displaying in a portion of the screen at the selected resolution.
This causes a mismatch between the display and internal coordinates, making it impossible to properly click on elements with the mouse. Changing either the full screen setting or the resolution fixes the issue. Sometimes this issue also occurs at startup.
Issue 2: Game Appears in Full Screen But With Incorrect Actual Resolution
This issue involves the game appearing in full screen but rendering at an incorrect resolution. The options menu and r.setres command both show the correct resolution (e.g., 3840x2160), but visually the game is clearly rendering at a lower resolution (e.g., 1920x1080).
When this happens, both the options menu and r.setres command will show 3840x2160, but the game is clearly rendering at 1920x1080. This is immediately noticeable as the FPS display and debug info appear twice as large as they should.
The issue can be fixed by unfocusing the game window and then focusing it again, which causes the game to properly render at the monitor’s resolution.
Implementation details:
- Fullscreen mode is set using UGameUserSettings::SetFullscreenMode
- Screen resolution is set using UGameUserSettings::SetScreenResolution
- Setting active display in fullscreen mode is implemented by temporarily switching to windowed mode, moving the window and then switching back to fullscreen mode after moving. This is because SWindow::MoveWindowTo does not work reliably in fullscreen mode.
I will appreciate any guidance on the above.
[Attachment Removed]