Leopard resolution independence!!

Resolution Independence
In Leopard, the system, including the Carbon and Cocoa frameworks, will be able to draw user interface elements using a scale factor. This will let the user interface maintain the same physical size while gaining resolution and crispness from high dpi displays.


This idea of resolution independence, as you might glean from the name, is a new concept (as far as I know) that restructures how element sizes are defined in Mac OS X, ideally making it possible for higher resolutions without forcing users to squint at everything they do on-screen. This also could usher in much higher ppi resolutions which could bring computer displays that much closer to properly displaying high-detail objects.
 
ok and this will make bigger the elements in OSX interface, what about elements of apps? Say like the palletes in Pshop etc?
 
It means that you will be able to make UI elements as large or as small as you like while retaining a high-quality display of those elements.

It means that switching resolutions from 1024x768 to 1280x1024 will no longer mean that everything on the screen has to shrink.

Of course, PhotoShop would have to have support for resolution-independent icons and user-interface elements, which it does not at the moment.
 
Current displays are mostly 72 pixels per inch. If a developer does custom drawing with an object of 100 pixels in size it will look as they intend. Once Apple comes out with higher dpi screens say 120 dpi or more, this 100 pixel object will now be smaller in size.

Without resolution independence, all application elements will look really small. Making an application resolution independent means drawing in POINTS not PIXELS which now one point will not equal one pixel. When you make your object x points in size, it will be scaled by the OS to the correct size in pixels.

What this means to users is that text and photos will look sharper because you are seeing more pixels per inch.

If you're feeling adventurous:
http://developer.apple.com/releasenotes/GraphicsImaging/RN-ResolutionIndependentUI/
 
Current displays are mostly 72 pixels per inch.

Bollocks. That hasn't been true since the MacIntosh SE/30, which was the last computer on earth to use that resolution. Ever. All usbsequently released displays have had a higher resolution, and most displays today have resolutions around 100 ppi or greater.

The comment becomes even more silly, when you consider that all modern displays have variable resolution: in Mac OS X you can alter the resolution in System Settings: Displays.

A more relevant measurement is the dot pitch, or maximal resolution of the display, which is what the resoultion independence is all about. Todays more common screens have a dot pitch of .28 to .22 mm (horizontally) which gives potential resolutions of approximately 90 to 115 ppi. If I recall correctly, the smallest dot pitch today is somewhere in the neighborhood of .099 mm, which would yield a resolution of 256 ppi.

This is why Leopard is going "resolution independent" or rather, making resolution dependent only on the viewing device, much like PostScript makes printing resolution dependent only on the quality of your printer.
 
Regardless of whatever the actual number is, what I wrote is correct.

"Tiger continues the evolution of resolution independence in Mac OS X, bringing it to the computer user interface by breaking the software assumption that all display output is 72 DPI.

Let's assume that on a 1600x1200 pixel display we want to target the basic "look" of our current user interface at 1024x768, which assumes a 72 virtual dpi. "
 
Captain Code is exactly right, given the context. The Mac OS has always ASSUMED 72dpi. In other words, 1 point = 1 pixel. This is in spite of the fact that modern displays have a physical resolution of more like 80-100dpi. What does this mean? It means that on-screen elements will have a different physical size depending on the the display. In other words, their physical size is dependent on the resolution of the display. For example, what happens when you change your monitor's resolution from 1280x1024 to 640x512? All the elements look twice as big. Why? Because the OS still thinks "1 point = 1 pixel", and since each pixel is now huge, so are all the elements.

With resolution independence, it could instead make every element use half as many pixels, so it would have the same physical size. Or at least, that is one way to use such functionality. That's really not the primary appeal (IMHO), but it demonstrates the concept.

I'm anxiously awaiting more info of Leopard's implementation. There a million ways Apple could offer "resolution independence". I'm hoping you will be allowed to customize this on an app-by-app, or even window-by-window basis. When Tiger was first released, it had a primitive form of resolution independence (not accessible to normal users) which you could set on an app-by-app basis with some debugging tools, so I think that is in fact what they have in mind.



Edit: Actually, saying the Mac OS has "always assumed 72dpi" is not entirely true. The Quartz graphics system, which has been around since 10.0, is largely resolution-independent. But this capability is not used at the system level (and it's probably not sufficient for use at the system level).
 
Operating systems don't assume anything, people do. Besides, assumptions, be it by people or operating systems, don't affect the physical aspects of a display.

Captain Code wrote that most displays have a resolution of 72 ppi. They don't, and it doesn't matter what operating system you use. Period.

Also, the only system where 72 points equal an inch is PostScript. All the typographical point definitions are based on metric values. Pica points are 35/99 mm, Didot points are 2660/1 meter, and Berthold points 2650/1 meter.

The reason for "resolution independence" is as I stated: the varying dot pitch in modern displays. It has long been a curse for graphic artists that nothing shown in "100% scale" or "true size" on a computer display matches the real size of the printed page. Leopard will (hopefully) address that.
 
Yeah but it's not _about_ that, elander. You can say "bollocks" all you want, it's abou the fact that Mac OS until 10.5 _did_ assume 72ppi for the screen. This meant that, for example, the menubar's height used the same amount of _pixels_ on everybody's screen, but it wasn't *actually* the same height measured in whatever your country fancies as the usual. It's about 0.55 cm for me on my MacBook right now. ;)

elander: "The comment becomes even more silly, when you consider that all modern displays have variable resolution."

Woops. You probably meant *older* displays here. You meant CRTs that did multisync. LCDs, TFTs and Plasmas all come with _non_variable resolutions. You can _set_ a different resolution, but the grid doesn't change.

And this is what it's about. You have a ~110 ppi screen in your notebook, maybe you'll get a 180 ppi screen in 2008 and a 300 ppi screen in 2010. OS X will let you adjust the resolution independently, meaning that you will be able to let that menubar be 0.6 cm regardless of the screen's _native_ resolution. All crisp and dandy. Gosh how I'll like my 300 ppi notebook. :) :) :)
 
guys to be honest i like "knowledge fights" between people that really know stuff, and rightnow its a 2 against 1 fight, not really fair... but looks good!
anyhow the lone ranger (elander) is holding up nicelly and im expecting a very very precise answer to fryke.
just keep the level high guys... we are all learning from you right now!!!!
chill
 
Fryke: We're comparing apples to oranges here...

Lets clear this one up real quick: the "resolution" we set in System settings isn't resolution at all. It's a setting to decide how many pixels we want to show across and down on our screens. I should've been more clear about that.

The dot pitch, which you are referring to, doesn't change, not even on most CRTs, regardless of wether they multisync or not. The phosphour dots are the same, and the grid to halt the electron beam is the same. However, and I beleive this is what you were actually thinking of when you mentioned CRT, some displays didn't have actual dots, but bands of phosphour down the screen. This gives them a variable dot pitch down (but fixed across), and this would give a variable vertical resolution.

A long time ago, there where also "vector screens", monochrome screens that worked like the ones on oscilloscopes. A single electron beam, and a viewing surface that was completely covered with phosphour. They had "infinite" resolution, or rather, the resolution depended on how well you could focus the electron beam, and the accuracy of your D/A converter. I haven't seen one of those screens since 1980 though (apart from the ones on oscilloscopes of course). My professor had a 21" monster that cost somewhere in the neighborhood och US$ 15 000 in his office. That was a lot of money in 1980...

So, there. Happy now? :D
 
I get your point. I think we have different ideas of what Apple intends to do.

Again, for the sake of example, let's say you have an LCD with a native resolution of 1280x1024. When you change the resolution in System Preferences, obviously (as you say) you are not changing to the dot pitch of the display. So what do you think will happen in Leopard when you change the resolution to 640x512? The way I see it, there are four answers:

1. It won't be possible in Leopard.
2. The results will look exactly the same, since Leopard will always render and output graphics at the hardware resolution. (Basically the same as 1, only...stupid.)
3. Every element will look twice as big (just like now).
4. Every element will have the same physical size, but they will appear blocky, since they will be made up of half the pixels.

In answers 1 and 2, it's all about the dot pitch.

In answers 3 and 4 dot pitch has nothing to do with it. All that matters is pixels per inch, or rather presumed pixels per inch. Leopard will still work with a user-definable pixel resolution. It's not going to set its resolution to always equal the dot pitch of the display. (I don't think that's even technically possible with most displays. There's no protocol for the computer to get that information.)

I believe 4 is the closest to what Leopard will have. 3 might actually be the case if the "resolution independence" is not automatic (i.e., it's just a user preference), which is somewhat likely.

Of course, having not used Leopard, I could be wrong. But for what it's worth, when Tiger had this functionality, it worked like #3.
 
#4 is more or less what it does, but I don't think it's linked to the Display prefpane, sadly. Right now, I don't find anything about it in Leopard's prefs, so it's not user-accessible at the moment, AFAIK.
 
Will resolution independence work on making elements smaller? cause i only hear about making them bigger in big resolutions!
 
Theoretically, yes. Independence is independence. There already _is_ resolution independence in Tiger, btw., it's just not activated. If you have the developer tools installed, you can access it through some Quartz development thingie, and apps launched after activating it actually are scaled, although the interface stuff is merely scaled and doesn't look that good.
 
Will resolution independence work on making elements smaller? cause i only hear about making them bigger in big resolutions!

Higher resolution screens would allow smaller text and other things to be readable, but it's not directly tied to resolution independence. If you've seen some PC laptops and even the MacBook you see how things look like when they have very high resolution screens. All the text is very small as well as everything else.

With Leopard, every interface element would look how it is now but sharper and would allow you to be able to see smaller text without having to do as much anti-aliasing.

BUT they could also make it so that the resolution of the MBP for example is twice what it is now and you could fit twice the amount of "things" on the screen at the same time because they are physically smaller on the screen but sharper as well.

I'm not quite sure which way it'll work at the moment even though I have Leopard from WWDC(no I didn't pirate it either, I got it from going there! :)).

I'm afraid I can't go into too much details about Leopard due to the NDA but so far I think all this stuff is public knowledge.
 
Good Font scaling took 10 years... I can imagine that resolution independence will also take some time to be nearly perfect. To be announced on July 4th ?
 
There already _is_ resolution independence in Tiger, btw., it's just not activated.
Hey, when did that come back? I was sure they ripped it out around 10.4.4. But sure enough, I just checked, and it's there. For those that don't have the dev tools installed, take a look at the attached screenshot. (Edit: Okay, macosx.com doesn't want to accept attachments today. Trying again...)

As you can see, in Tiger it works on an app-by-app basis. In this screenshot, Safari is rendered with the assumption of 144dpi (in other words, it's twice as big as normal), while the Dock and the "Quartz Debug" app in the background are rendered with the normal assumption of 72dpi.

You'll also notice a lot of nasty little things, like the menu extras, and all the bitmapped interface elements. Basically, everything besides text looks bad, because it's all bitmapped. Those are some of the reasons this feature didn't go live in Tiger — not enough of the graphics in the system an applications were made to support such a thing.
 

Attachments

  • Picture 2007-07-02 15-16-34.jpg
    Picture 2007-07-02 15-16-34.jpg
    376.2 KB · Views: 14
Back
Top