Scaling Windows - The DPI Arms Race
by Brett Howse on April 15, 2014 2:00 PM EST- Posted in
- Operating Systems
- Windows
- Microsoft
- Windows 8.1
- High DPI
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://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
114 Comments
View All Comments
SodaAnt - Tuesday, April 15, 2014 - link
This has always been one of my big issues with the surface pro. I really like it, and the high resolution display is great, but I'm stuck between a rock and a hard place. I'd like to use 150% scaling to get the UI elements to the size I want, but I find that everything is just blurry and unusable then, so I have to stick with 100% and deal with the small elements.Imaginer - Tuesday, April 15, 2014 - link
Fortunately, I haven't dealt with the applications that needed 100%. Even at 150%, I am fine, but to actually fit more work, a compromise for me is a blanket 125%.Still usable for me in both direct touch, pointer cursor work, and pen work. Virtual mouse trackpad is also fine.
I do not have the "fortunate" experience with Adobe's suites. So I cannot experience that "joy" with their software. Manga Studio possibly took some cues, being their window title bar areas are as custom sized and small at 125%, but everything else is usable. ArtRage, is one of the very good ones out the gate - from day one of the Surface Pro's release in pressure support for Ink.API and WinTab along with their UI elements.
And long before that, when I sometimes tried to view things in CAD on my HDTV, the scaling was set at 150% and 1080p, but the behavior of AutoCAD wasn't up to par. I believe that is fixed a bit as I did not have problems when I used the software upon the default factory scaling of the Surface Pro.
Some companies listen and go back to do things right, some do things right out the gate, some are more slower than others.
TimEMcGough - Thursday, April 17, 2014 - link
This is actually part of the reason why I really like my T100 and its 768p resolution. With a 10.1" screen, the ~155dpi to my eye is pretty darned good with 100% scaling. Much higher DPI and everything gets too small without scaling and, sadly, I use plenty of those Adobe applications on a regular basis. http://buyh.tk/wCcoastwalker - Sunday, April 20, 2014 - link
Pathetic. We have a generation of morons who think that a 16:9 video display is suitable for writing documents on. They also seem to believe that swiping the screen actually has something to do with productive activity. Its all a bit of a laugh watching civilization go down the plug hole.eddman - Tuesday, April 15, 2014 - link
"One of the problems holding developers back is that there have been few high resolution devices on the market"What?! Holding them back?! Nothing was/is holding them back except for their own laziness, incompetence and total lack of respect for windows programing guidelines; and they call themselves developers.
Yes, the desktop aspect of windows is quite open, but it doesn't mean you should develop a butchered application and then even be proud of it.
YuLeven - Tuesday, April 15, 2014 - link
And whist it's easy to accept 'developers' of freeware software being lazy to properly code their software with the current age of computing in mind, it's baffling to see Adobe charging hundreds of dollars for that rubbish UI of them, a problem that persists for years since the first HiDPI personal computers now.bountygiver - Tuesday, April 15, 2014 - link
and at the same time high DPI actually benefits designers the most, but the largest developer for designers' applications is one of these lazy bums...beginner99 - Wednesday, April 16, 2014 - link
Wasn't surprised Adobe is affected by this. Their software is general pretty bloated and crappy. I mean Acrobat is a 1 GB+ install for working with pdf's. WTF?gerz1219 - Wednesday, April 16, 2014 - link
Adobe's software is the best on the market. Their problem has always been is that there's a huge disconnect between the needs of creative/design professionals, and the needs of casual users. They design for the professional market, even though a lot of more casual users may want to edit a PDF or Photoshop their friend's face onto a dog.Acrobat is a 1 GB download because it includes all manner of print production, image scaling, and text recognition features, which the casual user doesn't need to delete a page out of a PDF. So if you only ever use the software to merge two PDF's, it looks bloated. But it's not! Almost every feature of Acrobat has saved me time at one time or another.
Regarding the scaling -- as a motion graphics and design professional, I *like* the small text in the UI. It gives me more screen real estate for my projects. The problem for anyone working in AfterEffects and Premiere is always that there's never enough screen real estate to see everything at once. Adobe has been slow to add in HiDPI scaling because their core market doesn't need or want it. It's a request from casual Photoshop users who only need the erase tool and the clone stamp tool to copy their friend's face onto a dog, and most of those users are still torrenting CS6.
chaos215bar2 - Wednesday, April 16, 2014 - link
As stated in the article, it's the professionals that are likely to be first to adopt high DPI monitors or (for a Mac example) case-sensitive file systems. It's rather telling that Adobe CS still don't work on case-sensitive filesystems after five major releases. All they have to do is make sure their apps always use the correct case when accessing a file! It's not that difficult, they just don't care.It's great that you like the small text, but you're always free to set Windows to 96 DPI. In fact, if Adobe properly supported scaling, you could even set it lower to get more working space if that's what you wanted..