Achieving Retina

To make the MacBook Pro’s Retina Display a reality Apple had to work with panel vendors to build the panels it wanted at a reasonable cost, as well as deliver the software necessary to support insanely high resolutions. There was another problem Apple faced in making the rMBP a reality: the display pipeline of the GPUs Apple wanted to use didn't officially support scaling to the resolution Apple demanded of them. Let me explain.

All modern GPUs have fixed function scaling hardware that is used to efficiently scale between resolutions. A scaler either in your GPU or in your display panel is what lets you run non-native resolutions at full screen on your LCD (e.g. running 1680 x 1050 on a 1920 x 1080 panel). None of the GPUs used in the Retina Display MacBook Pro officially support fixed-function scaling of 3840 x 2400 or 3360 x 2100 to 2880 x 1800 however. Modern day GPUs are tested against 2560 x 1440 and 2560 x 1600, but not this particular 5MP resolution. Even 4K resolution support isn’t widespread among what’s available today. Rather than wait for updated hardware and/or validation, Apple took matters into its own hands and built its own GPU accelerated scaling routines for these higher resolutions. Fixed function hardware is almost always more efficient from a performance and power standpoint, which is why there’s some additional performance loss in these scaled resolution modes. 

What’s even crazier is Apple wasn’t pleased with the difference in baseline filtering quality between the Intel HD 4000 and NVIDIA GeForce GT 650M GPUs. As the Retina Display MacBook Pro would have to regularly switch between GPUs, Apple wanted to ensure a consistently good experience regardless of which GPU was active. There are a lot of filtering operations at work when doing all of this resolution scaling, so rather than compromise user experience Apple simply wrote its own default filtering routines. Since you want your upscale and downscale quality to be identical, Apple had to roll its own implementation on both. Apple’s obsessive attention to detail really made it possible to pull all of this off. It’s just insane to think about.

The Software Side of Retina: Making it All Work Driving the Retina Display: A Performance Discussion
Comments Locked

471 Comments

View All Comments

  • solipsism - Saturday, June 23, 2012 - link

    it seems that any major changes to their Macs will come with Retina Displays. The question is when that will come because the iMac and ATDs are likely still to difficult to create and the smaller notebooks likely require more powerful GPUs.

    As Anand stated Intel is committed to more powerful iGPUs, which I'm fine with as my only concern is not seeing any visual lag and I don't play games, but I do think it's feasible for the 13" MBP to get a Retina Display once that ODD is removed. The only question I have is how much additional size is required to run an IPS display with 4x as many pixels. Can we assume the same battery capacity scaling between the 15" MBP and 15' RMBP?
  • ananduser - Saturday, June 23, 2012 - link

    There is also a price concern. The retina panel on the 15"-er incurs a considerable increase. Lower retina screens on the lesser macbooks will incur themselves a price increase(lower but an increase nonetheless).
  • KoolAidMan1 - Saturday, June 23, 2012 - link

    The logic board on the 13" MBP is tiny, not enough room for a dedicated GPU. As it stands, Apple and other ultrabook manufacturers will be leaning on integrated graphics going forward. It is the only solution with chassis getting thinner and lighter. This is a big reason why Intel has been getting so much pressure to improve their IGPs, and Haswell is looking like a huge step in that direction.
  • ananduser - Saturday, June 23, 2012 - link

    Come on...Windows supports 200% DPI scaling. By default you have 125% and 150%, but if you go custom mode you can set the DPI slider way up to 200% and any value in between(not just 100% and 200%.
    OSX' pre-rendering hacks and workarounds do not mean resolution independence. They have achieved a similar result only for their specific configuration. Windows is closer to that ideal as from the start you have the choice to run the native resolution and all scaling can be realized in factors between 100%-200% within that resolution frame. From a software perspective it is more agnostic, therefore more elegant. You're too selfish in your Apple desires that you don't think about custom configurations and myriad of panel choices out there.
  • Super56K - Saturday, June 23, 2012 - link

    I would never describe windows dpi scaling as elegant.
  • Taft12 - Monday, June 25, 2012 - link

    It's quite elegant. Windows software support for DPI scaling is not.
  • Spoony - Saturday, June 23, 2012 - link

    Quartz supports fully resolution agnostic layout, transforms, and compositing on a per-object basis. It also absolutely supports real resolution independence at any scaling value you desire. See this image from Mac OS 10.4:

    http://origin.arstechnica.com/images/tiger/scalabl...

    Your move, smartypants.
  • ananduser - Saturday, June 23, 2012 - link

    First of all Anand doesn't seem to know Windows well enough to go beyond presets.
    2nd of all, past OSX implementation of scaling was 2nd rate to that of Windows. OSX was unusable on high res screen without magnifying. I don't need to search for a longstanding macrumors post that described the frustrations of being a macuser on high res(and relatively small diagonal) past desktops.
    3rd: internal rendering beyond the panel resolutions and then readjusting is anything but elegant. It is a specific workaround to a specific situation of a specific machine. Apple can't expect the entire world to rework everything to fit their quirky rendering.
  • Spoony - Saturday, June 23, 2012 - link

    That's total garbage, and I suspect you know it.

    OS X has gone through various stages of teething with resolution independence. It was generally workable, but not always incredibly pretty. I remember U/I cracks and other uglies aplenty. However, setting to native res on a high-res panel and upscaling to 1.25x or 1.5x was very usable and very crisp, cracks aside.

    Apple has always been interested in doing resolution independence right, from OS X's beginnings and using PDF as the specification template for their drawing layer. The fact of the matter is, Mountain Lion (and Lion for now) is executing a fully resolution independent desktop, and executing it very elegantly. Much more comprehensive and capable than Windows presently.

    Furthermore, Apple has built up a very nice tool set of APIs that allow it (and third parties) to create a slick experience. For now, Windows can't touch it... however, I dearly hope Microsoft fixes this right up promptly. All OSs properly handling dense displays will be a great thing going forward.
  • ananduser - Saturday, June 23, 2012 - link

    MS has nothing to fix as W8 is great from all standpoints. It is Anand's lack of knowing Windows settings that makes him state otherwise.

    Apple achieved a "resolution independence" type experience through presets. It only works with their available presets and makes use weird workarounds, while obfuscating panel res choices. If you apply a certain patch on OSX, unlock resolution choice and select the native res manually(or any other res) you'll see how resolution independent OSX is not.

    You're naive if you think that all the possible past and current OSX 3rd party apps will do out-of-bound patches just to match, I repeat, a specific machine and it's specific pre-rendering routines.

    Resolution independence in use is completely panel and resolution agnostic. No matter the native resolution of the panel you can scale the elements by any scale you wish. You do not need to pre-render, then cut the screen to fit your panel. Both os-es lack this effectively but OSX was traditionally worse than Windows.

    Note: The true idealistic notion of resolution independece does not exist. Even ios is not resolution independent, it seems so because ios works only on two, integer scaled resolutions.

Log in

Don't have an account? Sign up now