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

  • Hrel - Monday, April 21, 2014 - link

    "but in almost all cases a better solution was to simply lower the resolution of the monitor, even if it introduced blurriness to the LCD image." - I worked at a local computer store back before Vista came out, and long after when we were still selling mostly XP and the client base was largely senior citizens. That quote was the bane of my existence. "Great, now they can see what they're looking at and my eyes are about to explode from the strain of looking at this shit image".
  • Silma - Tuesday, April 22, 2014 - link

    A few remarks:
    - IBM offered high dpi monitors years before Apple did.
    - the dpi scaling isn't per monitor in Windows 8.1 for the user. Windows 8.1 somehow adapts the scaling you choose for monitor A to monitor B. As a user of a 15.6 3200*1800 laptop and an external 2560*1440 27' monitor I can guarantee you the results are absolutely subpar. I am praying for the day where Windows recognizes I know better than it does what dpi scaling I want and let me specify individually dpi scaling per monitor.
    - As for Adobe it is a disgrace. If you want to feel how many CS customers are pissed do a search for dpi scaling in their support forum. The official answer is that it is all Microsoft's fault and they are working with them. However 1. They refuse to give any timeframe. 2. It may be that the API needs fine tuning but by and large the problem lies with bad old programming from Adobe. There are many many desktops applications that scale perfectly with Windows 8/8.1 including some Adobe applications. To me it is unacceptable that PhotoShop still hasn't been fixed despite the astronomical upgrades prices (and now the cloud subscriptions extortion). That's why I switched to gimp, which sucks as much scaling-wise, but at least it's free.
  • Netscorer - Friday, May 9, 2014 - link

    My Windows 8.1 laptop alternates as desktop or HTPC, driving 3 very different monitors: the low res laptop built-in display, high-res Desktop monitor and 1080P huge 65'' TV screen. I am sick and tired tweaking resolution and scaling settings every time I connect to different monitor. I wish MS would allow to simply remember monitor profiles and automatically switch to the best settings. Maybe it's there somewhere but I have not found it yet.
  • drgadgetz - Sunday, February 1, 2015 - link

    Just had a new Toshiba P50T - hi-res 3200x2160 laptop. As an app developer, I find it disturbing that the UI scaling is not adapted by most of the developer tools like SOAPUI and Adobe CC Applications. I also find it annoying that large corporations like Adobe will release massive distributions of their software without testing their products with the mainstream technologies - in which UI scaling is a mandatory. Yes, they tried to solve the UI scaling of Photoshop, so why dont they do it for all their product offerings that I pay a subscription for in advance for a year. If they have resolved it then why not implement it on all their products.
    Another fault I find in the new hi-res laptops is the ability to be backward compatible. Could it be because the new Windows 8.1 is not completely tested as well.
    I guess the only good news to these big UI Scaling fiasco, is that this companies like Adobe can use the help of some of us expert developers in fixing their UI problems. And maybe so that they can speed up their releases and bug fixes.
    Common now, someone in Executive management listen to the people in these forums...Get this fix now or Donald Trump will tell you, ' You're FIRED!'.

Log in

Don't have an account? Sign up now