High DPI Changes

Although the Mac had a fairly seamless transition to “Retina” displays, Microsoft hasn’t had the luxury of owning the end-to-end product, and as always with Windows, there is a huge backlog of older applications as well. To say the transition to high DPI has been a challenge would be an understatement. They have made some great progress here, but they still have a lot of work to do, and they don’t have the developer buy-in to just add ways for developers to fix their apps either. Any changes here need to benefit the myriad of applications that don’t, and likely never will, support high DPI APIs.

UWP apps are practically exempt from these issues, but the majority of Windows applications are not UWP, and even tools Microsoft has built to help developers bring their apps to the store, such as the Centennial bridge to convert Win32 apps to packaged apps for the store, can’t fix the underlying issues with supporting applications that were built for 96 DPI on displays with double, triple, or even more, DPI.

But that hasn’t stopped Microsoft from making progress. The Anniversary Update brought some nice changes and worked on per-monitor DPI awareness issues, and introduced mixed-mode DPI scaling, and DPI awareness at the process level instead of just the application level.

A graphic showing many of the common issues with High DPI, especially on mulitple different DPI displays

With the Creators Update, they are introducing a new way to handle per-monitor DPI issues, which they have dubbed Per-monitor DPI awareness V2. The new method adds support for child window DPI change notifications, automatically enabled non-client scaling, automatic DPI scaling for dialog boxes, and more control for dialog scaling. All of these are to improve how a developer handles DPI scaling, and especially on a system with multiple monitors with different DPIs, which has been one of the biggest sore spots even as the primary monitor DPI issues have been worked on over the last couple of years. This is an incredibly common scenario too, with a high-resolution laptop docked to a standard resolution display, for example.

Win32 clearly has a lot of baggage to deal with, but hopefully we will continue to see API improvements in Windows 10 updates to keep chipping away at these issues. However, this assumes that a developer is actually going to update their application. That may never happen.

When looking at this issue three years ago when we looked at DPI issues in Windows, one of the conclusions was that Windows has to stop expecting applications to behave correctly. There needed to be an override on the exe to force it to be scaled by Windows, since many applications were claiming to be DPI aware, when they were not at all. If the application could be set to ignore this flag, at least Windows would be able to scale it using bitmap stretching. It wouldn’t be ideal, but it could perhaps make the application useable when it would otherwise not be.

Microsoft has somewhat addressed this, with a new setting in the application compatibility called System (enhanced) DPI scaling. This new setting has some limitations, but is effective enough that Microsoft is using it for some built-in applications. Functionality is limited to GDI-based applications and it won’t correctly scale GDI+ content, DX content, or bitmap content, so it may have limited appeal. End users will have to try this on any application they are having DPI issues with to see if it helps.

But when it does help, it helps a lot. Microsoft is using this new scaling method to fix the Microsoft Management Console (mmc.exe) which means the device manager, and more, will be scaled correctly in the Creators Update. Here’s a screenshot of the differences.

Enhanced Scaling OFF

Enhanced Scaling ON

If the application is mostly text based, it could be improved quite a bit with the new mode. It’s not going to solve all applications from having issues, but it’s a nice step in the right direction.

They have also fixed desktop icons being scaled incorrectly if running in a mixed monitor environment.

Microsoft acknowledges there is still work to be done here, especially in the mixed monitor scenario. They are looking at having the Display Settings section show displays in their physical size rather than resolution, which would help a lot if you have a low-resolution monitor that’s larger than a high-resolution monitor, and it makes dragging windows between them difficult. They would also like to address the weird giant windows you get dragging windows from a high DPI display to a low DPI display. There is more coming as well, so stay tuned.

Privacy Changes, OOBE, and App Installs Windows Subsystem for Linux
Comments Locked

69 Comments

View All Comments

  • evilspoons - Tuesday, April 25, 2017 - link

    Well, there was an extremely primitive registry in Windows for Workgroups 3.11 (not Windows 3.1), so it's more like 23-24 years :|
  • lmcd - Tuesday, April 25, 2017 - link

    While Windows 10 Mobile looks dead-ish, I wouldn't say for the reasons you guys have selected. The list of phones there consolidates the list of different cores Microsoft is supporting down to A7 (why this made the cut I don't know), A53, and Kryo. The former will probably be dropped soon, and Microsoft will go to exclusively ARMv8 powered devices. I wouldn't be surprised if support for ARMv8 devices lasts far longer than projected here. Microsoft is still investing hard in new ARM-based platforms, and devices within the same scope as those platforms will likely keep evolving.
  • danjw - Tuesday, April 25, 2017 - link

    Type: "Hopefully we will here some more news on this front soon." The "here" should be "hear".
  • versesuvius - Tuesday, April 25, 2017 - link

    In a nutshell Win 10 is one big mess. Just about everything Microsoft is doing is fixing a problem or iterating on a solution to an unknown problem. The cost and time that needs to be put into installing and running and keeping a watch on what is happening to the computer that is running Win 10 is too prohibitive.
  • Mr Perfect - Tuesday, April 25, 2017 - link

    The thing that bugs me in Creator's Update is the removal of the links to "Control Panel" and "Programs and Features" when you right click the start button. They've replaced them with links to the modern "Settings" and "Apps and Features", respectively. There are still to many settings that can't be adjusted in the modern apps, they're not ready to replace the legacy versions yet.

    On the other hand, they replaced "Command prompt" with "Power Shell" and Power Shell is absolutely ready to take over.
  • Samus - Tuesday, April 25, 2017 - link

    What I find interesting are the browser power consumption benchmarks.

    I don't agree with Microsoft.

    Edge is undoubtedly more power efficient on my laptop for light browsing sessions, but Netflix is more efficient in Chrome. Also, for light browsing, I'd say Chrome is the least efficient. It's like a Honda Civic, no matter how hard you beat on it, it gets the same fuel economy; Chrome consistently uses about the same amount of power. It is occasionally bested by Firefox and almost always bested by Edge, except in Netflix where Edge seems to use more power.

    These are my observations over the years I've been running Windows 10, and honestly the anniversary update didn't improve the Netflix performance for Chrome. My laptop is a Haswell Elitebook 810 G2.
  • Allan_Hundeboll - Tuesday, April 25, 2017 - link

    Like a Civic you say? I have Civic and it will do 15 km/l when I drive with a light foot. If I drive like I stole it it will only do about 10 km/l...
  • Zeratul56 - Tuesday, April 25, 2017 - link

    Why don't you use the Netflix app? It is pretty nice actually. I don't have my tablet in front of me but I am sure the memory footprint for the app is at least half compare to running in the browser.

    I am sure running Netflix in chrome has some hardware excelleration not found in other browsers. It would behoove Netflix to do that given the large user base of chrome.

    I don't get why people don't jump on the app bandwagon in windows. I use the slack app over the browser as it uses much less resources. That seems to microsofts problem, they can't get people to break their old ways.
  • Shadowmaster625 - Tuesday, April 25, 2017 - link

    I have yet to download, install, or otherwise use a single UWP app. Everything is still basically win32.
  • mikato - Tuesday, April 25, 2017 - link

    So there is no update or successor to Windows Movie Maker in this Creators Update?

Log in

Don't have an account? Sign up now