Macs don’t know DPI!

29 03 2009

My new 17-inch MacBook Pro sports a 133 DPI screen. From a PC perspective this isn’t a giant leap — 130 DPI laptops are quite common and 150-160 DPI screens have long been available — but Macs have lived in the more typical 92-110 DPI range for quite some time.

The “problem” with high-DPI displays is that they make everything look small. More pixels + smaller space = tiny fonts and cursors. Duh.

In the PC world this situation is easy to deal with — open up the Personalization control panel and tell Vista the correct DPI for your screen. My last Dell laptop sported a ~128 DPI screen and once I informed Windows of that fact everything was just the right size and looked gorgeous. Back then you could still encounter problems with web sites that assumed 96 DPI and used pixel-sizing but that is much less of an issue these days.

In the Mac world there is sadly no preferences panel to tell OS X to run at 133 DPI. Leopard was supposed to deliver the “innovation” of resolution-independence but what was delivered wasn’t quite the whole shebang.

Leopard does has a hidden pref — AppleDisplayScaleFactor — that can be applied globally or to individual applications. Sadly, it is completely deficient and application support — even within Apple’s own apps — is completely lacking.

The deficiency comes from two factors. First, Apple’s use of DPI has long been a lie. Historically, Macintosh displays were 72 DPI vs. 96 DPI for PCs. No version of Mac OS X will run on a Mac that came with a 72 DPI display but this lie has been carried forward from the legacy Mac OS and maintained to this day. The typical modern Mac sports a display in the 92-110 DPI range.

The second deficiency of AppleDisplayScaleFactor is that it is a multiplier. So for my 133 DPI display I should use a multiplier of 133 DPI / 72 DPI = ~1.85. The result is that everything on the screen becomes massive due to the aforementioned lie. While the OS pretends that 72 DPI is “normal”, the fact is that developers have been designing for screens that are really 92-110 DPI. In effect the scale factor of 1.0 is really more like ~1.33, which makes the “correct” scale factor for 133 DPI around 1.40 but you have to play with it to find the setting that looks “right.”

Utterly. Broken.

If that weren’t bad enough, it turns out that developers haven’t yet got the message about building “resolution-independent” (really, DPI-independent) applications. Including the developers within Apple. iCal is basically unusable. Finder gets pretty messed up — some elements are scaled up while others are not. Safari mostly works OK but there are serious cursor glitches and Flash applets are improperly scaled. Mail… actually works great, the only glitch I’ve noticed is with the unread message icon.

I hope that this situation will improve with the next Mac OS X release. For now I’ve applied the scaling pref to just Safari and Mail but I hope that someday all of OS X will look right at the correct DPI.


Actions

Information

One response

7 05 2009
A month of not being PC « Not a Resource

[...] the higher resolution front, it was a waste of money. OS X’s poor support for high-DPI displays is borderline criminal. Forced to chose between [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.