Windows 8 Has Scaling Issues On High-PPI Displays
crookedvulture writes "High-PPI displays are becoming increasingly popular on tablets and notebooks, but Windows 8 may not be ready for them. On a 13" notebook display with a 1080p resolution, the RTM version of Win8 scales up some desktop UI elements nicely. However, there are serious issues with Metro, which produces tiles and text that are either too small or too large depending on the PPI setting used. That setting, by the way, is a simple on/off switch that tells the OS to 'make everything bigger.' Web browsing is particularly problematic, with Internet Explorer 10 introducing ugly rendering artifacts when scaling pages in both Metro and desktop modes. Clearly, there's work to be done on the OS side to properly support higher pixel densities."
Did the MS product mgmt, engineering and test orgs not think to try this out on a standard desktop machine with the high res monitors pretty much everyone uses these days? Incomprehensible!
...that MS has been one of the first to do the "device-independent drawing stuff" with GDI, and yet twenty years later, there's still no working device-independent UI from them.
Ezekiel 23:20
I once worked on hardware rendering with a webkit-based browser, and these kind of issues are very common when you're converting between floating-point layout coordinate and integer screen space.
Some rendering pipelines make it harder than others to deal with, especially if you can't control the behaviour of non-integer pixels at the edge of images. To fix it, you have to visit all the conversion sites and decide how you want to handle the conversion. It gets especially tricky if you're scaling and stitching images together that you've uploaded as multiple textures to get around maximum texture size issues. Concatenated transformations through composition layers can be tricky too depending on what your graphics API does.
I blame apple...if the wouldn't have released those retina displays high-PPI displays would have never come and windows 8 would have been a huge success. Apple can you not leave Microsoft in peace for one second?!
Good thing that Microsoft goes out of their way to force windows 8 users to use metro! You'll use it, and by Balmer's sweaty pit stains you'll like it!
One of the arguments to leave XP behind is that it can't work at all beyond 100 DPI or the apps will break. I assumed Windows 8 Modern UI took care of this? This issue alone made me weary of a macbook as 200 DPI will not run so great in bootcamp with Windows with most of the apps all misrendered.
100 DPI is so ancient and it is time to get rid of it. The fact that Windows 8 has mostly but not 100% got rid of it is problematic. Lets hope Windows 9 fixes this or at least a service pack in win 8.
Not a biggie in 2012 but in 2016 1080p will be the next 1024 x 768.
http://saveie6.com/
I don't know why it has taken Windows so long to handle high-ppi displays. I don't want the text and icons smaller, I want them the same size, only higher definition.
Releases of new operating systems come with a large number of bugs, and that goes with the territory. In general, users are understanding and patient.
But these seem like alpha level bugs that should have been stomped out ages ago.
1080p displays are hardly unusual or non-standard. This does not bode well...
------ The best brain training is now totally free : )
This is not a Windows issue but rather the way that developers support High DPI in their apps.
Way too many developers are still using MFC and Win32 for UI development, which has no concept of High-DPI and requires scaling to be done manually. If the app doesn't even poll for the current DPI of the OS then nothing is going to scale correctly using those antiquated API's.
WPF automatically adjusts controls to the DPI settings of the OS, however if you don't use vector paths to render UI elements you might see an ugly bitmap stretch here and there. Haven't fully investigated Windows RT (the framework, not the tablet), but I am sure DPI awareness is also a fundamental part of its presentation framework. If a developer throws a 16x16 icon into an app resource, you are going to get and ugly scale.
When it comes to web pages then its anyone's guess how the web designer will support high DPI. Web pages are still mostly a bunch of static jpg's so scaling up something that looks like a line on regular DPI settings, only to see it smear and blur into a bar as shown in the article is purely the fault of the web page designer.
I do agree that as a whole Microsoft needs to do a little better job supporting High DPI across their API's, but most of what this article mentions comes from poor app/web design more then anything.
I haven't thought of anything clever to put here, but then again most of you haven't either.
Thanks for the typical obligatory karma whoring post full of snark.
Meanwhile, they did figure it out to the extent it can be.
http://blogs.msdn.com/b/b8/archive/2012/03/21/scaling-to-different-screens.aspx
Meanwhile, Apple has similar issues with their retina display:
http://blog.macsales.com/14111-15-macbook-pro-with-retina-display-lessens-web-experience
http://www.robertotoole.com/2012/06/17/macbook-pro-retina-display/
Meanwhile, let the anti-MS bashfest continue.
I can't believe modern devices still don't support resolution independent layout, especially on tablets. All they would have to do is design displays to send their ppi as well as their resolution to the computer, then change the operating system to make that data available programs.
Honestly Android is the only OS I've seen that elegantly handles scaling to higher resolutions and varying aspect ratios. Hell, the SDK itself gives you many options to make sure your app scales well.
Owning an ipad 2 myself, I can say that iphone apps scale horribly to ipad, and apple themselves even had a blunder when they changed aspect ratios (lol letterbox phone.) It's no mystery why when they increased the resolution on the ipad 3, they had to evenly multiply from 1072x768.
Any competent mobile OS should be able to handle this. In todays world of very high resolution displays, desktop ones should as well. When microsoft decided "let's make windows work for mobile platforms" and created metro, they should have taken this into consideration, yet oddly enough, they didn't.
Linux isn't much better though, in fact its worse in some ways in my experience. For some reason I always run into major problems with font scaling in x11.
Careful with names containing L slashdot.org/~AiphaWolf_HK slashdot.org/~AlphaWoif_HK slashdot.org/~AiphaWoif_HK
there was only one true screen resolution: 640 x 480
Back then the only thing you had to worry about was whether to support 256 colors or stick with 16.
IMO MS needs to make windows 8 a great product to succeed as a corporation in the coming years. I don't think they get that.
My sig doesn't address Anons, sigs aren't visible to them.
The Metro APIs were designed for web front-end programmers, not people who write for real GUI toolkits. You can build quite competent Metro apps in HTML and Javascript, and if you reach any limits, your web shop could hire a third party to write a module in C# or C++ to work around it.
The API for web programmers includes also rules that that apps should be made for a finite set of fixed screen sizes. Not resolutions -- screen sizes. Metro was never designed to be scalable.
This is not only a Windows problem, though. MacOS X on Retina(tm) displays is just as bad, but there the OS draws everything twice as big to begin with and scales down if needed when compositing windows. Apple never cared about hinting anyway, so all controls and labels are just as fuzzy scaled to 125% as always.
"We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
So Microsoft is being blamed for graphical limitations they had nothing to do with. From what I'm seeing the problem isn't that elements within the GUI are scaling poorly, it's that designers didn't account for the fact that some day someone might want to blow up their graphics on a much higher resolution display. It's ridiculous and unfair to blame Microsoft for this considering this would affect any high res display in any OS. What do you think happens when you run an iPhone 3 app on an iPad? By the logic displayed in this article that should also be Apple's fault.
Anyone with the most trivial experience in resizing photos will understand that this is an unavoidable problem. There's no practical way to fix it unless you rebuild the app to account for wildly varied resolutions. You could use vector art, but it's not a realistic solution for a lot of things. There's no elegant solution but hopefully the pixel density is high enough that these artifacts aren't all that obvious. This is one of those situations where it's on the third party developers can only fix the problem after it's arisen. Microsoft can't fix it for them.
Windows 8 is even worse in Australia. Since Australians hold their tablets upside down, all the text falls to the bottom of the screen.
Man, don't you know that when MS does it, it's a colossal fuck up, but when Apple does it, it's a feature? I understand it's hard to make the distinction sometimes.
I got here through a series of tubes
What's strange is: my work just bought me an Asus Zenbook Prime and I'm running 150% on it (I nuked the OS to get rid of the crapware and to be able to log on to the domain, so I've actually never seen it stock). I can scale web pages easily by doing a pinch-zoom on the touchpad and they look terrific, including images. (I mean, sure, the images ARE scaled up, which never looks 100% perfect, but it's just not that noticeable, and doesn't look anything the article.)
What they may be noticing is ASUS Splendid Video Enhancement Technology which is turned on by default (I'm told, I didn't install it after reading that people were trying frantically to get rid of it). Basically, it's supposed to "fix" your graphics so they look "more lifelike". But I've seen cases where people report that web graphics were getting very blurred by it, exactly like what the article is showing.
After using 150% and browser scaling for the past week, I've been pleasantly surprised by just how "arrived" high-DPI scaling was in Windows 7. I really didn't think it would work, but it's terrific so far, with ultra-readable text that's incredibly easy on the eyes and looks just as good as Apple's Retina displays.
Peter predicted that you would "deliberately forget" creation 2000 years ago...
I thought the reason they changed to flat squares was so it would scale properly. Guess I was wrong. Egg meet face.
No sig today...
Meanwhile, let the anti-MS bashfest continue.
You'd think that a company with billions of dollars in revenue could test the product or at least re-use some old perfectly functional scaling code in prior products that performed the same task. /snark
Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
Your first link is a very interesting link, which kind of proves that MS doesn't understand dpi since they insist on a "minimum resolution" instead of a "minimum size" for screens for the Metro UI. Way off the point.
Both links on the Apple side of the story, however, are so stupid I have to assume you haven't even had a look at them. Basically, both complain that the UI elements have the same size on the MacBook Retina than on a normal MacBook !!! Right from your second link: "This configuration should offer amazing detail but you don’t actually get any more desktop space". Well, guess what: That was the point, very precisely.
Overall you just proved that MS doesn't know what they are doing and Apple does. Nice way to illustrate an anti MS bashfest. Wait... wasn't that your intent?
Write boring code, not shiny code!
You'd think that the most valuable company in the world, with billions of dollars just sitting in the bank and a(n increasingly unwarranted) reputation for polished products, could test the product or at least quickly develop a decent solution.
Aside from the idea that I had a 1600x1200 display TWENTY YEARS AGO and since then WE'VE GONE BACKWARDS
You are so right there... I would not have believed 10 years ago that newer large monitors I bought would feature worse resolution. Yet that has been the case for years with monitors that align to 1080p...
Thankfully we are finally starting to break free and actually get more resolution at last, as with the Korean displays people have mentioned here... going to get one of those soon I think.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
There's a key catch here you seem to be missing:
The macsales link points out a common issue with any high-DPI screen: What happens when you put a low-DPI image on one. This is a content issue. It doesn't imply that Apple's scaling is inaccurate.
The robertotoole link is lamenting the fact that this high-DPI screen isn't letting him use it in 1:1 mode. Fair enough, but again says nothing about Apple's scaling being inaccurate, but rather the lack of a built-in 1:1 mode. Interestingly though, an app can display things in 1:1 mode within a high-DPI UI. A photo editor app would work well in such a mode.
The point of this article is this: Microsoft's scaling isn't just imperfect, but inaccurate. Inaccurate display is a real problem when doing web design, image work and even some forms of type/layout work. The comparison to Apple's scaling is to point out that while it isn't perfect (how can it be when scaling smaller things up?), it maintains accuracy.
Meanwhile, let the anti-MS bashfest continue.
You'd think that a company with billions of dollars in revenue could test the product or at least re-use some old perfectly functional scaling code in prior products that performed the same task. /snark
Wait, are you talking about Apple?
After all, Apple has tens of billions more cash than Microsoft, which according to Slashdot wisdom, is dying.
This space for rent.
Owning an ipad 2 myself, I can say that iphone apps scale horribly to ipad
It's a simple 2x scaling, but it does have one redeeming aspect - if the images are larger than original size, you get more pixels.
It's no mystery why when they increased the resolution on the ipad 3, they had to evenly multiply from 1072x768.
They did not have to but it made everyone's life much simpler.
Apple themselves even had a blunder when they changed aspect ratios (lol letterbox phone.)
See? They didn't have to @2x new resolutions all the time. The iPhone 5 is proof of it. As for the aspect ratio changing, most apps needed only minor adjustments to auto-resizing rules. What people who claim iOS cannot handle different screen sizes well always forget is that the screen changes size every time you take a call, and the call status bar drops down... the iPhone 5 is just the display going the other direction in size, so the existing rules app developers already had in place mostly worked.
In iOS6 there is an amazing new API for Autolayout and a number of classes that let you do extremely complex non-linear layout, so to claim the OS cannot handle application scaling well is dramatically wrong.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The retina display scales everything by 200%, which means that a grid of one-pixel lines will at least be displayed evenly even with bilinear filtering. In TFA, they scaled to 125%, causing (predictably) this to mess up in IE. If anything I'd blame the user, although the argument can be made that IE should use a nicer scaling algorithm.
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
How is this described only as a Windows problem?
What I found interesting was that the article mentions that they noticed no difference on the Start screen at different DPI settings. I've been spending a lot of time of time in Visual Studio's Simulator lately, and it definitely displays a 10.1" 1920x1080 simulated screen differently than a 23" 1920x1080 screen. Meanwhile, 10.1" 1366x768 screen looks very similar to that 10.1" 1920x1080 screen.
My sig can beat up your sig.
Your first link is a very interesting link, which kind of proves that MS doesn't understand dpi since they insist on a "minimum resolution" instead of a "minimum size" for screens for the Metro UI. Way off the point.
What do you mean by "minimum size"? Like 7 inches wide? So you want MS to proclaim that all Metro apps are supposed to support a minimum of 7" width regardless of the resolution? So does that mean the apps must support a device with 320x240 resolution?
Both links on the Apple side of the story, however, are so stupid I have to assume you haven't even had a look at them. Basically, both complain that the UI elements have the same size on the MacBook Retina than on a normal MacBook !!!
They're no more stupid than TFA, which I suggest you read, and which complains about the same problem with scaling up graphics on the web.
This space for rent.
Meanwhile, Apple has similar issues with their retina display
I agree. Microsoft and Apple both forgot how to innovate and only know how to litigate.
When all you have is a hammer, every problem starts to look like a thumb.
IE10 HAVE RENDER ISSUES ME NO BELIEVE.
I get that it's really hard to make a browser do everything right, but if you're going to push IE as such a major competitor to other browsers, maybe make it less of a steaming pile? The web browser is basically a commodity nowadays, drawing things right is just about the only thing that matters.
Ze Atomic Device! It iz Ztolen!
The issue comes into being most likely due to off-by-a-fraction errors when doing non-integer scaling of multiple elements.
One solution is just to get all your fractions right across the entire rendering pipeline. That is hard, and maybe impossible in some cases.
An easier solution is just to render to a canvas that is an integer multiple of the "base" or "expected" case, then finally apply a single scaling from that canvas to the display size at the last moment before the image is displayed.
For instance, let's say that software was developed for a 100 dpi display, and for a given device, that works out to a 1366x768 resolution (if its screen were 100 dpi). Now the screen is really 1920x1080, but that is not an integer multiple of 1366x768, so instead we render to a canvas that is 2x both dimensions: 2732x1536. The rendering here should be without any issues, since it's an integer multiple of 1366x768. From here, there are two paths to follow. If the display controller of the device can automatically scale 2732x1536 to 1920x1080, then let it do that. Otherwise, have the GPU scale the the canvas size to the display size, then display that. (Typically, the display controller can do a better job with multiple tap filters.)
Note that this requires extra rendering power and bandwidth vs. the first solution. However, that's what hardware is good at, right?
Note also that doing non-integer scaling will always result in what looks like "blurriness" around what would have otherwise been sharp pixel edges. This is not avoidable, really (unless you want really ugly results where some lines are fatter than others).
Large displays too. Look how much space Windows 8 wastes on a 20 inch monitor rendering overly large tiles. People with large monitors and mice and keyboards should be able to zoom out and see more tiles at once if they so wish.
So hold on, super-high resolution displays should only be used so that the rounded corners are more rounded?
Thanks, but no thanks. The entire point of higher resolution displays is displaying more information on the same space. Apple's way of just doubling the resolution for each length is good for backwards compatibility, but it shouldn't be the standard for new applications: they should be designed to take advantage of the high resolution displays, and I don't just mean better text rendering.
Your first link is a very interesting link, which kind of proves that MS doesn't understand dpi since they insist on a "minimum resolution" instead of a "minimum size" for screens for the Metro UI. Way off the point.
What do you mean by "minimum size"? Like 7 inches wide? So you want MS to proclaim that all Metro apps are supposed to support a minimum of 7" width regardless of the resolution? So does that mean the apps must support a device with 320x240 resolution?
Well... everyone's talking about resolution independent interface, and that's really what it should be about. Of course, it makes no sense. So there is the Apple approach that take shortcuts that work well, and the MS approach which tries to accommodate for every fucking screen on the planet. Guess who's more efficient? Guess who will end up with an average interface that will work so-so on most configs but will look clunky on not so common screens. Interestingly that's the very same approach that did lead them to the pre-ipad tablets. Talk about learning about one's mistake.
Both links on the Apple side of the story, however, are so stupid I have to assume you haven't even had a look at them. Basically, both complain that the UI elements have the same size on the MacBook Retina than on a normal MacBook !!!
They're no more stupid than TFA, which I suggest you read, and which complains about the same problem with scaling up graphics on the web.
I was not comparing to TFA. I was just mentioning that apart from asserting that their author is utterly clueless, they pretty much serve no purpose.
Write boring code, not shiny code!
On a retina display you have the exact same real estate than on a regular (equivalent) display. You just have the ability to have more precise drawings, that's all.
How the developer want to use it is really the developer concern. Apple doesn't dictate anything in this regard.
However, just having the same per-pixel ratio for apps would have rendered pretty much everything useless. Apple's approach (pixel doubling) was just the sensible one.
But to be honest, for most applications, retina means sharper display and nothing more.
Write boring code, not shiny code!
Some things never seem to work right until Service Pack 3.
This latest version is still in alpha, right?
Well... everyone's talking about resolution independent interface, and that's really what it should be about. Of course, it makes no sense.
So when you claimed MS doesn't understand DPI because they insist on a minimum resolution instead of a minimum size you had no fricking clue about what you were talking about(perhaps you don't understand DPI) and you now say it makes no sense to have a minimum size instead of minimum resolution? That's quite a flipflop between your two posts.
So there is the Apple approach that take shortcuts that work well, and the MS approach which tries to accommodate for every fucking screen on the planet. Guess who's more efficient? Guess who will end up with an average interface that will work so-so on most configs but will look clunky on not so common screens. Interestingly that's the very same approach that did lead them to the pre-ipad tablets. Talk about learning about one's mistake.
Perhaps you should learn about the late 80s and early 90s, when MS with the help of Dell, Compaq, HP etc. etc. and the variety of hardware and screens you're now decrying absolutely crushed Apple and it's limited hardware support to near death. Talk about learning from about one's mistake!
I was not comparing to TFA. I was just mentioning that apart from asserting that their author is utterly clueless, they pretty much serve no purpose.
I make a similar assertion about TFA.
This space for rent.
They should all follow KDE's lead with this issue.
SVG display elements. Anything can be scaled to any resolution and PPI without any issues.
Such a simple solution.
All the other problems with SVG aside, using vector images only partially solves one problem with scaling. It won't help you at all when the aspect ratio changes.
Required reading for internet skeptics
So there is the Apple approach that take shortcuts that work well, and the MS approach which tries to accommodate for every fucking screen on the planet.
That's the advantage of being vertically integrated, you control the hardware and the software.
I'd be surprised it Metro UI elements weren't largely XAML.
I had a sig once. It was lost in the great storm of '09.
Luckily you have the option to get more real estate with the Retina instead if you wish.
"However, there are serious issues with Metro" what a surprise that there's another reason not to like metro.
As the article mentions, scaling issues are in certain apps like Chrome or IE9. Windows 8 itself works great.
Apple crushed itself near death with it's own CEO, Microsoft just happened to be there at the time.
Write boring code, not shiny code!
You're thinking old-school, and thus are part of the problem. The point of high-DPI displays isn't to have more screen real estate or to display more information in the same space, it's to have sharper text and image display at a usable size. Since this is a transition period, images are going to be worse off than text. I'm sick and tired of displays that are approximately 100dpi or so (given the average 17" laptop display). Display technology has lagged behind every other improvement in technology over the last 15 years. Thank God there's finally a push for higher pixel density. The best of both worlds will be when image and video editing apps make use of the higher resolution while still displaying UI at a reasonable size. Ever wonder why a lot of people have run LCD displays at non-native resolutions? Because without resolution independence, high-res displays present UI and text that is way too small for them to read. Proper resolution independence will allow people to run their displays at native, without worrying about being able to read what's on the screen.
As with anything, early adopters tend to get burnt or otherwise are dissatisfied with the performance. Apple does happen to have a leg up here, with their experience on the iPhone/iPod touch 4. The fact that Apple uses integer ratios for their screens (even on the Macbook Pro where the resolution can be adjusted, the backend renders at an integer ratio) is a big plus as it means that what we see in these screenshots won't happen. I may not like some of Apple's business practices, but they completely win when it comes to presentation and aesthetics. Microsoft would do well to learn some lessons from them.
FC Closer
Completely off topic, but I think Apple has another issue with their retina display--the retina is used for seeing images, not displaying them. "Retina display" makes as much sense as a tympanic speaker, jumbo shrimp, or Microsoft quality control (zing!).
You're confusing branding with technical specs. Apple merely calls it a "Retina Display" because at an average viewing distance for most people, the pixels are not discernable. Sure, there are people who will still be able to see the pixels. There will also be people who will get two inches from the screen and say "I can see the pixels durr hurr". I have been using an iPod touch 4th gen for quite a while now and think it's sad that the highest resolution display in my house is on a portable device. I can't wait until displays with 200-300 ppi are commonplace.
To be fair, though, even a large-screen 1080p device is a "Retina Display", since most people wouldn't be able to discern individual pixels from across the room. I can't, and I can see many artifacts in video (analog and digital) that most people gloss over.
FC Closer
Doesn't work on my iPad.
Change is certain; progress is not obligatory.
Not just dying, dead! Right? Honestly though, it doesn't matter how much money you have, you can't just launch a competitor to Google Maps, with ten years plus of experience and probably millions of labour hours of work and expect it to be just as good. They should have just had the Apple app as an installable alternative until they got all the feedback they needed to be ready for primetime. Lesson is, all the money in the world can't buy you more time.