X

Adventures in a high-DPI world

Once you go high DPI, it's incredibly difficult to go back. It's still early days, though, and there are pitfalls that you need to be aware of.

Craig Simms Special to CNET News
Craig was sucked into the endless vortex of tech at an early age, only to be spat back out babbling things like "phase-locked-loop crystal oscillators!". Mostly this receives a pat on the head from the listener, followed closely by a question about what laptop they should buy.
Craig Simms
4 min read

Spending a fortnight with a Retina display MacBook Pro is an exercise in breaking you forever.

First, yes, the 2880x1800 display crammed in to a 15.4-inch display, giving you a PPI of 220.53, really does have an effect. It's much like the new iPad — your first reaction is "so?", followed by never being able to look at another screen again without feeling like you've somehow been hard done by.

The closest you'll get in the consumer laptop space is if you somehow track down Asus' UX21A, which, as far as we're aware, never got an Australian launch. This 11.6-inch screen runs at 1920x1080, for a PPI of 189.91.

Both are IPS screens, offering significantly better viewing angles and colour reproduction than the typical TN panels found on laptops. It looks like as time goes on, we'll be seeing more and more IPS in laptops, as well, which can only be described as a very good thing.

The catalyst? Mobile phones and tablets. Oh, and Apple pushing the envelope on high-quality screens. Before the iPad, most consumers didn't know what IPS was. These days, it's a required dot point on most tablets, and that effect is slowly bleeding into laptops. I've had more than one conversation with laptop vendors about why IPS screens weren't in laptops, and every time it boiled down to "consumers don't care" — that is, it wasn't important enough for someone to front the cost until economies of scale came into play. Now that Apple has started the ball rolling, the Windows crowd is lining up to arrive on the scene.

So, back to the resolution: after spending about 10 minutes with a high-DPI screen, looking at a normal monitor afterwards is simply ruined for you. You begin to actually see pixels, dim flickering and the odd anti-glare coating that many manufacturers use. Text appears comparatively blurry, and images are disturbingly low res. It's the first time I've looked at a 27-inch, 2560x1440 monitor and felt disappointed.

Not that the high-DPI world is perfect; certainly, every application and website now ideally needs to be coded with both low-DPI and high-DPI graphics (which, incidentally, means explicit browser support is required as well — WebKit browsers are partly capable now, and hopefully a standard will be agreed upon soon). Controls need to be redesigned to scale appropriately depending on the set DPI, or else elements like text tend to spill beyond their borders in programs.

If an application isn't DPI aware, things get scaled up and they look blurry, at least as far as OS X is concerned. On Windows, things get a little more tricky.

When you a compile a program for Windows 7 or 8, it looks in the manifest of the executable to check whether a program is DPI aware. If it's not, you'll get a scaled-up, blurry version of the program just like OS X — what on the Windows side is called DWM scaling.

Tell Windows that a program is DPI aware at compile time, and your graphics will be sharp, but they'll also be tiny — that is, elements won't scale at all. Your 600x450 interface will still be 600x450, and will now be but a mote on a high-DPI screen.

Coders themselves have to provide what factor to scale elements at, and at what DPI that occurs, along with high-resolution substitute bitmaps, so that things look nice and sharp at any setting. This is why companies like Adobe are taking a little while to update their applications; it takes a lot of time and labour to properly scale every element of your application. Incidentally, it's the creative types who will benefit the most from this, especially graphic artists and video editors, so it's no surprise that Adobe's already on the bandwagon.

If you don't mind postage-stamp viewing, Windows 7 already includes an override for programs that aren't DPI aware — just right-click on the executable, head to the compatibility tab and select "Disable display scaling on high-DPI settings". The same option exists in Windows 8, too. In fact, Windows has had DPI settings for a while — it's just a shame that it's such a damned mess. While Microsoft seems to have text and icons down pat, there are other issues that have been overlooked.

The Retina display MacBook looks best at 200 per cent DPI scaling in Windows 7, and at this setting there are small issues that definitely impede use. Open up Windows Explorer, and the address bar is almost completely decimated by the search bar, for instance. This has been addressed for File Explorer in Windows 8, but one thing that hasn't is that at 200 per cent DPI, the mouse cursor is incredibly scaled up and ugly. The mouse cursor. A thing that developers would have to look at day in, day out somehow got missed. Neither of these are massively critical, but they do get in the way of enjoying the fact that you've got a high-DPI screen.

Microsoft claims that Windows 8 is high-DPI ready, but for the desktop that's certainly not the case — at least, nowhere near the polish of OS X. If anything, you're only slightly better off on the desktop than you were on Windows 7.

The beast formerly known as Metro is a bit better suited to high-DPI displays for sure, but it's not like Microsoft gives you scaling choices — you are literally given the option to "make everything on your screen bigger" — no granularity at all.

It will take time for high DPI to become mainstream, especially considering the heavy lifting that will need to be done to make applications compliant; however, with Windows laptop vendors starting to play around with high resolutions, and rumours of a MacBook Pro 13 with Retina display building up steam, it looks like high DPI is finally the way of the future for laptops. If it's not to be, can we at least agree to kill 1366x768?