I didn't see anything in there about the real problems with DPI scaling: Most third party apps break in odd ways. It seems that whatever layout system a lot of program use, it somehow combines absolute pixel sizes with auto-scaled fonts and buttons, so you end up with dialogs getting clipped up. It's not always noticeable or problematic at "125%" (I think some popular laptops shipped with this setting), but at 150%+, many apps break.<p>If Windows had an option to somehow detect this and let the app render unscaled, then apply interpolation, it'd be better than the current state of affairs.
Probably one of the biggest complaints we get from our IT clients. Really frustrating for someone that isn't familiar with the issue because all they can articulate is that either they can't fit anything on the screen (low resolution) or can't read anything. I always assumed it wouldn't matter what MS did because x, y, z 3rd party application wouldn't implement it but its always been irritating that MS' own applications don't work correctly with the current options.
I've tried this out and it is a disappointment. 8.1 doesn't actually switch the rendering of the app to a different percentage scale when switching displays, it just scales the app rendered at the previous scale.<p>What happens is a "target" scaling percentage is set - any monitors that roughly match that percentage/DPI get a 1-1 pixel mapping of how apps currently render at 125%/150% etc. Monitors that have a greatly different DPI (for example, a Surface Pro internal screen) then have a <i>scaled</i> app. For instance, the app renders at 125% (the "target" percentage) and is then scaled down or up by the graphics card to the scale percentage for displays that don't match the target percentage. This is never a nice pixel double or halving that OSX carries out, but always a blurry mess, scaling up or down. The taskbar is not scaled at the moment either, rendering at the target percentage scale on <i>all</i> displays, so you get a mini or a large taskbar on the mismatched display.<p>They would be much better off rendering everything at 200% and scaling down, like OSX.
I don't find Windows 8 too bad as is -- I have it set to the true display resolution on my MBPr, but with font scaling (150%?). Works for most apps while some have tiny text but it isn't too bad. Everything's crisp at least, and all the Metro UI is fine.<p>That said, I don't use it too much, so I can't say how irritating it would be on a regular basis.
So it looks like they've done what they can without completely overhauling how they scale things. You can have different scaling values for different parts of your application.<p>What is the right way to solve this issue, keeping performance in mind, if you get to build everything? I'm pretty graphics-ignorant so I'm mentally stuck at 'do something with vector graphics'.
I don't know a whole lot about GUI programming, but how come resolution independence never took off? For example, "make this element some proportion of the screen width/height", "make this element exactly N cm/mm/inches/pica wide/high".
This is a real crock, it's terrible. Microsoft's own applications don't even scale properly - and fonts can't scale at all. I use a Surface Pro @ 1080p and two external displays @ 1080p and fonts are blurry in apps like Windows Explorer, Outlook, Word, because the font scaling is so horribly broken. I don't understand why they can't fix this.
The Windows high resolution "support" is done in such a bad way, and I think Windows has the worst possible type of support for higher resolutions out of <i>all</i> the operating systems. They're only making <i>some</i> items "larger" to appear "normal" under the big resolutions. But all the other stuff won't. Plus, what are they going to do for 4k displays? Increase it to 300%?<p>They should've done it like Apple did it, and it would've been much more streamlined and would make a lot more sense. Here's how they should've done it.<p>With resolutions higher than 1080p you shouldn't actually get more density in terms of content per screen real estate (what's the point of that? 1080p makes things small enough as it is). Instead they should only support resolutions after 1080p that are <i>exactly</i> "double" (or 4x the pixels) of the lower resolutions. This way, those high resolution displays, can use the "effective" lower resolution.<p>So 2732x1536 -> effective 1366x768<p>3200x1800 -> effective 1600x900<p>3840x2160 ("4k") -> effective 1920x1080<p>This is the best way to jump to higher resolutions and easiest way to support them at the OS level, instead of these icon scaling "hacks" that Microsoft is implementing.