The High-PPI Problem

So earlier today I ended up around a group of people, one of which I won't mention by name, but I will say I deserve a damn medal for not leaving an impression of the Apple logo on their forehead by using my Powerbook as a clue stick, nor just tearing into them verbally.

This person seemed to feel the need to educate those around him on how bad their Dell and other laptop screens were, and why his Powerbook screen was so much better and so much thinner while being so much better! A person rightly, since they had their x86 laptop right there, seemed to be kind of confused by this supposed quality disparity and kept pointing out how he either couldn't tell the difference or areas where his x86 laptop seemed to actually have a sharper, or higher contrast picture.

Ah, but then he laid down his trump card: that web pages on the x86 laptop was so small and thank the $Deity that Apple hadn't bought into the resolution game and knew it was better to ship screens with a low PPI, and that if he had been given the same x86 laptop he would have returned it because the web experience was so poor.

So, rather than test the resolution of his damnable forehead with my laptop, I bottled up my anger into that secret place inside which all men have and chased it with some drinks and the following post.

When it comes to flat panel monitors, or LCDs, there are a few things that are going to affect the quality of what you're seeing:

  • PPI
    Think of this as pixels-per-inch. A 15" screen running at 1024x768 is going to have a lower PPI than a 12" screen running at the same resolution. Pixel-count is very much going to affect the cost to the manufacturer, in fact its prolly the biggest cost there is, as the more pixels they have, the higher the chance there'll be dead pixels and the board is unusable. More pixels costs more money, no way to get around that.

    The more pixels you have in an inch, the more information they can represent, and hence the clearer and sharper the picture. Just think about it, say, with anti-aliases type: 100 pixels in an inch area isn't going to be able to give you the same bits of detail that 1,000 will.

  • Contrast Ratio
    As most will tell you, one of the biggest problem with LCDs over CRTs is the lack of color fidelity. Getting a true black is difficult at best, let alone color shifts from just slightly changing how you're viewing the screen. This really isn't that difficult to see: fire up a DVD and play it full screen and look at the top of the screen. Does it really truly look black? Or just darker. LCDs have gotten way better here, but the difference can still be stark between a high-end CRT and a high-end LCD.

    This also has an effect on field-of-view, in that if you turn your head away from square-on to the screen, the colors can shift or look less black. Apples new screens have a great contrast ratio compared to the competition, meaning that they now pretty much match almost everyone else. The older screens topped out at a contrast ratio of 350:1, whereas people like Formac, etc had been shipping screens with 400:1 for ages, and there are screens out there in the same price range with 450:1 or even 500:1 contrast ratios.

    A lot goes into a higher contrast number, not the least of which is housing and backlight construction. Remember a CRT basically excites stuff sitting on a layer behind the glass with an electron gun, an LCD shines a light through the back of a layer of pixels which change their orientation to display different colors... so the evenness of the backlight and such is very important.

    There absolutely is a reason why Apple doesn't give contrast ratio information about their portable computers: they aren't the best. They're not terrible, but on the low end they're, well, on the low end. You can easily tell the difference between different Apple laptops in this regard, and you can easily tell the difference between Apple laptops and higher end x86 portables. Neither are where a good desktop display is, as they just have looser requirements in terms of space, power, etc. but in no way do Apples outshine most of the competition in the same range.

  • Pixel Response
    There's a reason why the brand new Cinema Displays suddenly show their pixel response times, and in days past they'd only show the contrast ratio. Historically they've kind of lagged the rest of the industry, but a lot of that history is due to how long in the tooth the last displays were. Right now they're square in the pack.

    Pixel response is basically how fast the pixels can reorient themselves, or change colors, and the lower the number the better the experience when movement is on the screen. Places where this comes up are with any form of animation, scrolling, video, games. Lets just say its kind of important, and only Apples newest displays are really competitive with anything that isn't several years old or cheaper than Christina Aguilera.

Ah, but there is the whole "It's too small!" issue. Buy a pair of glasses. How's the rock saying go? If its too small, you're too old. Kidding, its a real issue, but one which should already be solved.

The idea is that lets say you're hanging out at DrunkenBlog with a Dell laptop, with a 15" 1600x1200 display, and a Powerbook with a 15" 1152x768 display (they have one with 100 more pixels now, but they took their sweet time). If you're on a fucked up blog like this one, that has the temerity to actually specify pixels instead of using em's for spacing... yes, stuff is going to look small as hell on that Dell. 9 pixel type (this site doesn't use 9 pixels, thank god) and until I actually get around to moving this to ems', chances are you'll be increasing the font size if you're on a high PPI screen. But 9 point type will look sharp as hell.

Go ahead and try it, I'll wait. Take your 1024x768 iBook screen and throw the Terminal a 9 or *gasp* 8 point font. I doubt it'll even be readable at 8 points, but on a higher-PPI screen it would be.

But going back to em's, these don't really solve the problem, as sites like this have this nasty habit of not using fluid designs, so if you're on a really high-PPI screen you could really end up in situations to where you're reading 3 words in a line, which while amusing isn't conducive to comprehension and puts a lot of wear on your page-down key. You also have a problem whereby the big fat window (if you're using Safari, a metal window) suddenly gets real small.

Which brings us to the big factor that'll change all this, and something I was really hoping for in 10.4, or at to start to set the stage with via accelerated drawing: resolution-independent display.

There's really no doubt that this is where the future is, and where Microsoft is heading for with Longhorn. If you're having problems wrapping your head around what this means, think in terms of a logo that's in both .EPS and a .TIF file. A .TIF is basically a bitmap, or a data representation of pixels. The more pixels you want to represent, the more data you have, and hence the bigger the file. A .TIF file that is 1024x768 that you want to display on a 30" screen will either only take up a section, or if displayed full screen will have to be scaled up, losing quality.

But an .EPS is simply a mathematical representation of the image (kind of like a poscript font versus a bitmap font). You can display one on a 1024x768 computer screen or scale it up to the size of a billboard and it'll look fantastic on either, but the more resolution you have the better. Clearer, sharper, better.

This is basically where people get confused, and go "MacOS X uses DisplayPDF! It already does that with Quartz!". No, it doesn't. Bitmaps are abundant in OSX, which means its not immune from the high-PPI problem. The pretty icons are actually bitmaps of several sizes up to 128 pixels, and if they're displayed somewhere in between those sizes software interpolates them. The metal windows? Bitmaps. The title bars of all the windows? Tiled bitmaps. The pinstripes? You guessed it.

So basically the interface doesn't scale, and if you throw Aqua onto a high-PPI screen things get really, really small, and fitts' law says you're going to have real problems hitting those gumdrop buttons on the title bars, and while the menu commands will be really, really sharp they'll be really, really small.

Even WindowsXP is more scalable; in that you're able to change some of the settings for application fonts, etc, but its still not very good. No, thats coming with Longhorn (or at least the groundwork: accelerated drawing makes this stuff feasible, like having a software or hardware RIP for all you prepress people) when you'll be able to display your Windows screen on a 1024x768 or a resolution thats triple that, and everything will be the same size, only much much sharper on the high-res display.

So, problem solved right? Throw in hardware-accelerated drawing on OSX and we're all set for high-PPI displays, no problems since Apple already has Quartz, and hey, perhaps all that bitmap stuff was just placeholders so that machines of the time wouldn't have a refresh rate of 2 frames per second. Unfortunately it doesn't look as though there's going to be accelerated drawing in Tiger (10.4) which is really, really something you want for this to be fast enough to be usable. Considering that Apple has lengthened the time between released from ~1.3 to ~2 years for Tiger, and has stated they are going to be lengthening it to an even greater degree, realistically we're looking at at least 4 years until Apple has this if its not in Tiger, perhaps a huge amount more if they only get in accelerated drawing for 10.5.

But it kind of gets worse than that. One of the big things about Longhorn is that while it respects backwards compatibility, and bends over backwards for it, in many cases it looks as though Microsoft, for the first time, has decided that they're not going to turn into a gymnast for it. Longhorn is going to support a lot of stuff, and well, but a lot of stuff is going to break. MS seems to be focusing on it not breaking hard, which is still a lot of work when moving to these things.

The problem is basically this: way too many apps, if not the vast majority, deal with themselves via pixels. This is... problematic... when you move to a system that isn't dependent upon a set resolution, very similar to the web page problem I mentioned above. Feel free to check it out for yourself by opening up XCode or InterfaceBuilder. Everything is specified via pixels in the pretty tools when you're laying out the interface, let alone when you're doing things programatically. IE, telling the OS to display a centered window isn't a big deal. Telling the OS to offset the window by 15 pixels kinda is when on a high-PPI 15 pixels looks like the width of a human hair. This stuff is going to take real work, and take real time to transition to.

....which is why everyone is looking at the high-PPI problem except for Apple, unless I'm unaware of something, and its going to bite them in the ass the same way that not making Quartz multi-user and network-aware from the get-go did when they wanted to throw in 'active user switching' or users get stuck with horrid apps like Apple Remote Desktop. Even Linux distributions using SVG (another vector format) for their icons instead of bitmaps. Guess what Longhorn is going to be using? Yep, vector stuff.

Screen real estate isn't going to go down, and at some point Apple is going to end up paying more for low-PPI screens than high, simply because no one wants to manufacture them, and not having a display layer that can really handle it is going to be very problematic no matter how much they lag.

Ah well, this stuff just pisses me off.

Update: Corrections and clarifications in The High-PPI Problem (Redux (AKA, notes on CoreImage))

yummy alcohol posted button Posted by drunkenbatman
    July 17, 2004, at 03:05 AM


Comments (18)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?