quixilver87
Terrarian
- Steam or GOG
- Steam
- Single Player/Multiplayer
- Both
- Operating System
- Windows 10
- Terraria Version
- 1.4.0.5
- Controls Used
- Keyboard/Mouse
another day of silly terraria hackery...
so, today's discovery is that terraria doesn't have the proper system DPI scaling awareness set in it's manifest.
On scaled outputs (windows 10 reduced scale via 'desktop window manager') the terraria window doesn't properly initiate in scaled mode. If I set the windowed mode to 1920x1200 and resize the window using SetWindowPos to 1920x1200 (like I was doing in this thread: odd behavior with Terraria windowed in TOPMOST mode), it will properly resize to the scaled DPI settings. This makes the window bigger but terraria still reports being in 1920x1200. While I do not have an example, I'm 100% sure that this discrepancy creates visual artifacts when the resolution isn't properly scaled. when recorded with OBS, this austensibly 1080p window outputs closer to 720p and getting an ACTUAL 1080p image out in scaled mode requires setting an odd resolution by hand (drag) or in the config files or hacking it in with a 2nd program as I've described.
so, today's discovery is that terraria doesn't have the proper system DPI scaling awareness set in it's manifest.
On scaled outputs (windows 10 reduced scale via 'desktop window manager') the terraria window doesn't properly initiate in scaled mode. If I set the windowed mode to 1920x1200 and resize the window using SetWindowPos to 1920x1200 (like I was doing in this thread: odd behavior with Terraria windowed in TOPMOST mode), it will properly resize to the scaled DPI settings. This makes the window bigger but terraria still reports being in 1920x1200. While I do not have an example, I'm 100% sure that this discrepancy creates visual artifacts when the resolution isn't properly scaled. when recorded with OBS, this austensibly 1080p window outputs closer to 720p and getting an ACTUAL 1080p image out in scaled mode requires setting an odd resolution by hand (drag) or in the config files or hacking it in with a 2nd program as I've described.
SetProcessDPIAware function (winuser.h) - Win32 apps
SetProcessDPIAware may be altered or unavailable. Instead, use SetProcessDPIAwareness.
docs.microsoft.com