New in OS X: Get MacRumors Push Notifications on your Mac

Resubscribe Now Close

OS X Lion's HiDPI Modes Lay Groundwork for Retina Monitors

With the release of Lion, users can now see some of the groundwork that Apple has laid down in OS X for ultra high resolution displays. We covered Apple's support of these new "HiDPI" modes while OS X Lion was still in beta.

For those who have downloaded Apple's Xcode for Lion, you can enable "HiDPI" mode in the Quartz Debug application found in the Developer directory. Once enabled, OS X's Displays control panel offers additional 1/4 (and lower) resolution sizes as shown here on a 30" Cinema Display with a native resolution of 2560x1600:

Unfortunately, there's not much to see yet. The 1280x800 HiDPI resolution shown here represents exactly 1/4 of the area of the native resolution of the 30" Cinema Display and simply offers you a zoomed in view on present day monitors.

The reasoning is that when displays do reach ultra high resolutions and dots per inch (DPI), simply drawing the OS X interface as-is would result in very small interface elements. Apple's solution is to scale all on-screen elements automatically by a factor of two (in each direction).

So, in the future, we might be using 2560x1600 (HiDPI) mode on a theoretical 30" 5120x3200 pixel display. All user interface elements would stay the same size as today's 30" Cinema Display, but when available, higher resolution textures would be used to render the graphics. This is the same way that it worked when Apple transitioned from the original iPhone resolution to the iPhone 4's retina display.

Arstechnica offers a good example screenshot showing this in effect. Fonts already render in the higher resolution while bitmapped graphics demonstrate a blocky effect as they have not yet been replaced with high resolution ("Retina") graphics.

The groundwork is there now, so when technology catches up, we could see double-DPI Retina displays in our future.

Top Rated Comments

(View all)

105 months ago

Why not go vector based? Then it will scale to whatever you like.

because it's hard to make all graphics into vectors?

Rating: 11 Votes
105 months ago

Why not go vector based? Then it will scale to whatever you like.

You're not a software developer, are you?
Scaling is not the problem. Scaling and not looking like ****, that is the problem.
Rating: 7 Votes
105 months ago
I can’t wait to say, “Oh, I don’t want to watch that 1080p video on my Mac, it’ll look like crap!”
Rating: 6 Votes
105 months ago

Maybe, but I know for a fact vector file sizes are much larger

No they are much smaller. They contain less information.
Rating: 5 Votes
105 months ago

So, maybe you'd care to enlighten us ? Maybe I'm just nostalgic for the 80s and 90s, back when vector graphics were a possibility. Now that we have much more powerful CPUs and GPUs, it seems that vector graphics have become way too hard to handle... :rolleyes:

Only stuff that's required to scale. IE : the UI.

And games have been using vector graphics since the 80s and 90s, at least, games made with a little known technology called Flash. Or the above Sierra game, Conquest of Camelot ;) In fact, isn't that screenshot from a game that uses vector graphics ? (Plants vs Zombies ?).

Obviously, not all UI elements are needed to scale. The desktop wallpaper can remain a bitmap image, but things like icons, buttons, fonts and all UI controls would need to be scaled.

Think man, think.

Sure, I'll help enlighten. ;) Here are just a few points (some of which Arn has already pointed out):

* Photorealistic graphics. As stated multiple times, you can't use vector for this.
* Pixel-perfect designs. When you see a gorgeous iPhone or iPad app, it's because of this. You can't just resize a vector icon and expect it to look great at any size. It simply doesn't work like that.
* Processing power. Load a complicated piece of vector artwork in Illustrator. It takes time to process all the math in a vector illustration.
* File size. Making the assumption that vector is always smaller is wildly incorrect. Sometimes it is, sometimes it isn't.
* Textures. Wood, cloth, stone, grunge. Those detailed, fantastic textures aren't vector -- they're raster. Can you use vector for them? Yes, the simple ones. But to get the same depth of detail (and you never will, because textures are often photorealistic), you get back to hurting processing power.
* Effects rendering. Rasterizing an effect is much simpler than combining it with vector art. It's simple for the designer, prevents a developer from having to code the effect (which is no small task), and saves processing power.
* Development time. Coding for vector in everything can increase development time due to the shortcomings of vector-based art. Often it's just faster to use rasterized artwork. Keep in mind this doesn't mean a designer doesn't use vector in his workflow, it just means that he saves it to raster at the end.

These are just a few things off the top of my head. I'm sure there are many more, but I don't have time to write a short story. ;)
Rating: 5 Votes
105 months ago

Maybe, but I know for a fact vector file sizes are much larger

That's a joke, right?

One of the joys of vector graphics is smaller file sizes as standard as opposed to bitmap images.
Rating: 4 Votes
105 months ago

What's hard about that ? Sierra games used to be all made of vector graphics (the PIC format) back in the 80s... :

Vector graphic based UIs are probably where we should be heading. KDE/Gnome have supported SVG for a icon format since the late 90s. That is true resolution independence and something that should be worked on, not just double sized bitmaps.

But we're not talking just about UI stuff. We're talking about all graphics, including photorealistic stuff.

Rating: 4 Votes
105 months ago

That's funny, I could have sworn you originally said:

Man up and admit you were wrong for goodness sakes.

I was replying to a generalisation of the fact. Someone stated they are bigger. I said they are not, in response to their generalisation. I could of gone all boring and started stating static vector filesizes and variable bitmap sizes for scaled images of each format but I didn't.

What is your problem anyway? I asked a question 'why cant vectors be used?'. Someone, maybe you, responded and I then asked a further question regarding the response? Are we not allowed to ask questions on forums these days without people looking for a fight? Why do I have to 'man up' when I have already stated I dont fully understand the concept?

I'm asking questions because I don't understand something. I don't pretend to understand things either unlike some people around here.
Rating: 4 Votes
105 months ago
I'm cracking up that you guys are being all anti-vector about this, when every word you read in OS X is being treated as vector, and rendered in a way that is much more complicated than anything we're talking about doing with an all-vector UI system.

The hardest thing to deal with in vector is text, because it requires more than "looking good." It requires actually looking "perfect."

Do you guys even know how sub-pixel rendering works? Do you know how much processing power is required to process 4 pt text on screen to look smooth and clear? You just click a box, and poof, you've tripled the amount of processing required for the OS to display a character on screen. And even an older Mac doesn't miss a beat.

And yet, even with the equivalent of 3x horizontal resolution being used for sub-pixel text rendering in every modern OS, we can't figure out how to do vector UI elements, too?

Imagine the entire OS interface running with sub-pixel rendering...every box, every line, every arrow or bullet or drop shadow or icon...

It would effectively triple the horizontal resolution of every LCD monitor right now, without even needing any kind of "retina" display resolutions. Yes, there is a big caveat that comes with that (certainly works best with black or white elements in contrast), but looks at the examples of things that are NOT high-res in arrows. A grayscale apple icon.

Both of those things would look much better if they were being rendered 2 or 4x their current size, and then resampled, even (especially) on a 72 dpi monitor using sub-pixel rendering. But since they are bitmaps and already being displayed at 100%, there is nothing for the sub-pixel rendering engine to infer. Even if you wanted to just display icons with a higher horizontal resolution, you could use bitmaps that were 2x the size and render them this way. For all I know, Apple is doing this in the Dock and in the Finder. I haven't investigated it. But it's clear they aren't doing it in the menu bar, and they aren't doing it in their own UI elements in various places throughout the OS, and they haven't been making much progress since this was introduced 6 years ago in 10.4.
Rating: 2 Votes
105 months ago

Next is hinting. When fonts get really small, glyphs which are basically vector-based doesn't work well. Hence there is something called font-hints embedded in fonts to describe how to render each glyphs at different font sizes. This will make large font looks nice and mini fonts looks clear enough for the eyes to view properly. I believe it's not that well defined for hints in normal vectors should they are used for icons, which are normally very small buttons.

Font hinting is only needed for low resolutions. At high resolutions (such as for a 215+ ppi monitor), it is completely unnecessary.
Rating: 2 Votes

[ Read All Comments ]