Microsoft has now detailed some of the improvements it is making to high DPI support in the Windows 10 Creators Update.
As you may know, this islong-runninging battle between the past—non-scalable Win32 applications—and the Universal Windows Platform (UWP) future. And it appears that the past is winning, at least so far. As I opined in October, it’s not clear to me that Microsoft will ever really fix these issues.
But give them some credit for trying. In the previous major version of Windows 10, which arrived with the Anniversary Update, Microsoft introduced mixed-mode DPI scaling and some new high-DPI-related APIs to help ease the pain. And it making further headway with some more—but not all—high DPI issues with the Creators Update.
I find myself most curious about what Microsoft is not fixing in this release. And it is being transparent about this, noting that the following high DPI issues remain even after the Creators Update is installed:
“Magic numbers. Many classic desktop applications are still written to assume 96 dpi, so they look blurry on high DPI displays. But parts of Windows still do this too, including button borders and the menu bar padding in certain applications (like Notepad). So Microsoft says it will “scrub” Windows 10 to eliminate these legacy issues in a future release.
Child windows. The mixed-mode DPI scaling work done in the previous update only impacts top-level app windows, and not child windows.
MFC. The per-monitor DPI scaling work impacts applications written to Win32, WPF, and WinForms, but not the Microsoft Foundation Classes (MFC) for C++.
Window dragging. When you drag a windows between two monitors with different DPIs, the window looks oddly shaped, with one rendered in the wrong DPI. Microsoft is looking to make this transition smoother.
Log out, log-in. While Windows 10 actually does a much better job than previous Windows versions in switching to new DPI settings on the fly, you still need to log out and then log back in to see all the changes correctly. Microsoft knows this is “a huge pain-point,” but it does “not currently have a solution for this.”
So that’s a long list, and helps bolster my contention that the only real “fix” for this stuff is the passage of time and the full removal of support for legacy Win32 applications from Windows. But here’s what was fixed in the Creators Update:
Per-app DPI scaling override. Now, assuming you can find the property sheet for an application’s EXE file, you can override the system DPI scaling behavior and configure the scaling behavior yourself. This should help fix some random errant applications that still don’t scale properly.
Desktop icons. Previously, desktop icons did not scale correctly on two or more displays with different DPI if you were running in the “Extend” display mode. That’s been fixed.
Internet Explorer. Microsoft’s mostly-forgotten legacy web browser was actually updated to better support high DPI and now displays more closely to Microsoft Edge.
Developer improvements. Microsoft has added a number of low-level features to Windows 10 to help developers improve their support of high DPI displays. And it is working to improve the documentation about this functionality, it says.