Emulator Issues #11861
Auto-Adjust Window Size Influenced by Windows UI Scaling
In Windows 10, Auto-Adjust Windows Size is supposed to set the window to precisely the internal resolution for 1:1 pixel matching (at least in GameCube games, I know Wii games are weird). So, setting the game to 2x native (1280x1056) should create a window that is precisely 1280 pixels in width, regardless of the Windows UI Scaling. In the old WX UI, this was how it worked. The UI elements would be scaled, but the window would be correctly sized to exactly 2x native. I'll use Photoshop's measuring tools to show this. (https://i.imgur.com/Kalzx7f.png)
But in Qt, Auto-Adjust Windows size is influenced by the Windows UI Scaling. My gaming desktop is currently using 200% scaling on its main display, and when I use auto-adjust windows size on that display in Qt, the result is a 2560 pixel wide window and some chaunky pixels! Once again I'll use photoshop tools to measure it. (https://i.imgur.com/9xTCxXo.jpg) This also occurs on latest master (5.0-10912 as of this writing) (https://i.imgur.com/M9F4Jw0.png)
This is especially problematic when on non-integer scaled displays, which are most systems using HiDPI. My side monitors are 150%, and it doesn't do the image any favours! At 1x native, what should be super crisp pixels are an unevenly smeary mess!
To reproduce this, have Windows UI scaling at some number other than 100%, and use auto-adjust windows size to a set resolution. Remember that auto-window size only activates on an internal resolution change, so be sure to start the game then select a different internal resolution (and back again if you want) just to be sure. Then take a screenshot, measure the results, and compare to the internal resolution.
5.0-8277 (WX and Qt)
5.0-10912 (latest, Qt)
Windows 10 1809
Intel Core i9 9900k
2x NVIDIA GeForce GTX 2080Ti (sli disabled for testing)
Just to be clear on something I didn't mention, the internal resolution is set correctly. So setting it to 2x native runs at 2x native regardless of the window size. The bigger window size just makes the pixels bigger/blurry.
Also I reproduced this in D3D11, OpenGL, Vulkan, and D3D12. So it appears to not be backend specific.