Final Words

Windows has always had the burden of bringing forward legacy APIs and code to allow applications designed for previous versions to continue to operate on newer releases. It also supports a huge number of display sizes, screen resolutions, and form factors. Because of this, it often struggles when major changes are introduced. One such change was the new security model in Windows Vista where (finally) users were no longer administrators by default, and another such change is ultra-high resolution displays with the different goal of improving image quality rather than just increasing usable real estate on the desktop.

Windows 8.1 now officially has three different states for applications: DPI-Unaware, System DPI-Aware, and Per-Monitor DPI-Aware, and solutions are in place to handle all three. It also has a fourth unofficial state: DPI-Unaware masquerading as DPI-Aware applications. Unfortunately there is no current solution for these unofficial applications.

One interim solution would be to have a way to force such applications to scale up, and therefore ignore the DPI-aware flag set in the executable. This would allow DPI Virtualization to scale the applications as needed. This is certainly not ideal, but when you are dealing with a product like Windows with such an enormous catalog of applications, it’s necessary because many of these applications will never be updated to correct scaling issues. The correct solution is to have applications updated to take advantage of the High DPI systems to provide a better user experience, but again this doesn’t really work for legacy applications.

One of the problems holding developers back is that there have been few high resolution devices on the market, meaning few developers would even bother taking the time to correct these issues. Now that there are finally devices from virtually every single computer maker with high PPI panels, there is a market force that will hopefully pressure developers into using best coding practices for scaling DPI.

But what about the current state of things –is it worth avoiding High DPI devices until more applications work properly? My personal experience is no, it’s not worth avoiding them. This will of course depend on what applications you use, but the advantage of a high resolution display is that you can always set the resolution lower if necessary as a workaround on applications like Photoshop. The advantage is that in other applications, you can get very crisp, clear text and a fantastic display for media. Within the next year, I would imagine most major Win32 applications that are actively being developed will have to address these issues. When Apple launched the Retina MacBooks, its catalog of applications took some time to be updated; as that happens for Windows applications, the investment in a High DPI system will make even more sense.

The final piece of the puzzle is the next iteration of Windows. Already shown at BUILD were Modern apps running in a windowed mode on the desktop. These apps will of course have no issues scaling with DPI, providing the ideal “one size fits all” approach to DPI scaling. Figuring out a similar solution for legacy applications on the desktop may be a bit more difficult, but it’s certainly something Microsoft is working to address. Time will tell how well they manage to do so.

Sources:

http://blogs.windows.com/windows/b/extremewindows/archive/2013/07/15/windows-8-1-dpi-scaling-enhancements.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/dd464659(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx

Windows 8.1 DPI Changes
Comments Locked

114 Comments

View All Comments

  • Lundmark - Wednesday, April 16, 2014 - link

    People who like image quality should get a MacBook.
  • wwwcd - Wednesday, April 16, 2014 - link

    This numbers of DPI or/and PPI(which is the same thing) didn't make me satisfaction. I will wait for 8K(+) resolution for my next large dimensional PC/TV display.
  • aron9621 - Wednesday, April 16, 2014 - link

    Per display DPI scaling in Windows 8.1 is a joke. Try connecting a 180ppi Dell U2414Q and a 96ppi Dell 2413 to your computer, Windows is so dumb it doesn't even detect the correct DPI setting for the monitors, and worse, it doesn't allow you to change it. Oh yes, you can increase/decrease the DPI, but only for BOTH screens simultaneously, it doesn't matter if you have "Let me choose one scaling for all my displays" checked or unchecked, the only difference that setting makes is the way it breaks DPI unaware applications. So you are either stuck with one screen with normal elements and one with tiny ones, or with normal elements on the other screen and giant ones on the former one. And I yet have to figure out how Windows chooses which screen it opens the application on.
  • caywen - Friday, April 18, 2014 - link

    This. Windows seems to have no idea how big my 24" samsung monitor is. I even have samsung's monitor driver installed. In display settings, Windows thinks my Yoga 2 Pro's 13" screen is 4x larger than my 24", presumably because it's still assuming resolution == size.

    I really hope Microsoft fixes this. They should at least provide a way for us to say, "Windows, this monitor size is this big" and for Windows to say "righty ho, now I totally know this display's real DPI."

    I feel like Microsoft is fumbling the ball. They give developers every gun to shoot their foot with, and give users useless tools to mitigate it.
  • Gigaplex - Wednesday, April 16, 2014 - link

    "This application is the worst example of usability on a High DPI system that I’ve seen."

    I'd pick small elements over element cropping/overflow any day. It's especially annoying when OK/Cancel buttons on dialogs are off-screen because their location wasn't calculated correctly.
  • aeeroO - Wednesday, April 16, 2014 - link

    960x480 WHAT KIND OF SORCERY IS THAT? Every apple fanboy knows it's 960x640...Anand, where are you?
  • StrangerGuy - Wednesday, April 16, 2014 - link

    I find it especially baffling how could people even defend DPI laziness...in mid 2014.

    What, you don't like progress, or are you still living in 2000?
  • valhar2000 - Wednesday, April 16, 2014 - link

    So, once again, Microsoft gets blamed for the mistakes of other software developers. If only Adobe had a letter "s" in their name that could be easily replaced with a "$"...
  • e_sandrs - Wednesday, April 16, 2014 - link

    You could use the Euro sign for the e and/or the Thai Baht for the b and/or the Vietnam Dong for the d? That's the best I could do. :)

    A₫o฿€
  • berger0 - Wednesday, April 16, 2014 - link

    Anyone know a work around to fix Chrome? In Chrome 35 they removed the HiDPI flag. I found some post that had me put the flag in the registry, but chrome looks really bad now. Anyone else running Chrome Beta or Canary seeing this issue? I am running the YogaPro 2

Log in

Don't have an account? Sign up now