Driving the Retina Display: A Performance Discussion

As I mentioned earlier, there are quality implications of choosing the higher-than-best resolution options in OS X. At 1680 x 1050 and 1920 x 1200 the screen is drawn with 4x the number of pixels, elements are scaled appropriately, and the result is downscaled to 2880 x 1800. The quality impact is negligible however, especially if you actually need the added real estate. As you’d expect, there is also a performance penalty.

At the default setting, either Intel’s HD 4000 or NVIDIA’s GeForce GT 650M already have to render and display far more pixels than either GPU was ever intended to. At the 1680 and 1920 settings however the GPUs are doing more work than even their high-end desktop counterparts are used to. In writing this article it finally dawned on me exactly what has been happening at Intel over the past few years.

Steve Jobs set a path to bringing high resolution displays to all of Apple’s products, likely beginning several years ago. There was a period of time when Apple kept hiring ex-ATI/AMD Graphics CTOs, first Bob Drebin and then Raja Koduri (although less public, Apple also hired chief CPU architects from AMD and ARM among other companies - but that’s another story for another time). You typically hire smart GPU guys if you’re building a GPU, the alternative is to hire them if you need to be able to work with existing GPU vendors to deliver the performance necessary to fulfill your dreams of GPU dominance.

In 2007 Intel promised to deliver a 10x improvement in integrated graphics performance by 2010:

In 2009 Apple hired Drebin and Koduri.

In 2010 Intel announced that the curve had shifted. Instead of 10x by 2010 the number was now 25x. Intel’s ramp was accelerated, and it stopped providing updates on just how aggressive it would be in the future. Paul Otellini’s keynote from IDF 2010 gave us all a hint of what’s to come (emphasis mine):

But there has been a fundamental shift since 2007. Great graphics performance is required, but it isn't sufficient anymore. If you look at what users are demanding, they are demanding an increasingly good experience, robust experience, across the spectrum of visual computing. Users care about everything they see on the screen, not just 3D graphics. And so delivering a great visual experience requires media performance of all types: in games, in video playback, in video transcoding, in media editing, in 3D graphics, and in display. And Intel is committed to delivering leadership platforms in visual computing, not just in PCs, but across the continuum.

Otellini’s keynote would set the tone for the next few years of Intel’s evolution as a company. Even after this keynote Intel made a lot of adjustments to its roadmap, heavily influenced by Apple. Mobile SoCs got more aggressive on the graphics front as did their desktop/notebook counterparts.

At each IDF I kept hearing about how Apple was the biggest motivator behind Intel’s move into the GPU space, but I never really understood the connection until now. The driving factor wasn’t just the demands of current applications, but rather a dramatic increase in display resolution across the lineup. It’s why Apple has been at the forefront of GPU adoption in its iDevices, and it’s why Apple has been pushing Intel so very hard on the integrated graphics revolution. If there’s any one OEM we can thank for having a significant impact on Intel’s roadmap, it’s Apple. And it’s just getting started.

Sandy Bridge and Ivy Bridge were both good steps for Intel, but Haswell and Broadwell are the designs that Apple truly wanted. As fond as Apple has been of using discrete GPUs in notebooks, it would rather get rid of them if at all possible. For many SKUs Apple has already done so. Haswell and Broadwell will allow Apple to bring integration to even some of the Pro-level notebooks.

To be quite honest, the hardware in the rMBP isn’t enough to deliver a consistently smooth experience across all applications. At 2880 x 1800 most interactions are smooth but things like zooming windows or scrolling on certain web pages is clearly sub-30fps. At the higher scaled resolutions, since the GPU has to render as much as 9.2MP, even UI performance can be sluggish. There’s simply nothing that can be done at this point - Apple is pushing the limits of the hardware we have available today, far beyond what any other OEM has done. Future iterations of the Retina Display MacBook Pro will have faster hardware with embedded DRAM that will help mitigate this problem. But there are other limitations: many elements of screen drawing are still done on the CPU, and as largely serial architectures their ability to scale performance with dramatically higher resolutions is limited.

Some elements of drawing in Safari for example aren’t handled by the GPU. Quickly scrolling up and down on the AnandTech home page will peg one of the four IVB cores in the rMBP at 100%:

The GPU has an easy time with its part of the process but the CPU’s workload is borderline too much for a single core to handle. Throw a more complex website at it and things get bad quickly. Facebook combines a lot of compressed images with text - every single image is decompressed on the CPU before being handed off to the GPU. Combine that with other elements that are processed on the CPU and you get a recipe for choppy scrolling.

To quantify exactly what I was seeing I measured frame rate while scrolling as quickly as possible through my Facebook news feed in Safari on the rMBP as well as my 2011 15-inch High Res MacBook Pro. While last year’s MBP delivered anywhere from 46 - 60 fps during this test, the rMBP hovered around 20 fps (18 - 24 fps was the typical range).


Scrolling in Safari on a 2011, High Res MBP - 51 fps


Scrolling in Safari on the rMBP - 21 fps

Remember at 2880 x 1800 there are simply more pixels to push and more work to be done by both the CPU and the GPU. It’s even worse in those applications that have higher quality assets: the CPU now has to decode images at 4x the resolution of what it’s used to. Future CPUs will take this added workload into account, but it’ll take time to get there.

The good news is Mountain Lion provides some relief. At WWDC Apple mentioned the next version of Safari is ridiculously fast, but it wasn’t specific about why. It turns out that Safari leverages Core Animation in Mountain Lion and more GPU accelerated as a result. Facebook is still a challenge because of the mixture of CPU decoded images and a standard web page, but the experience is a bit better. Repeating the same test as above I measured anywhere from 20 - 30 fps while scrolling through Facebook on ML’s Safari.

Whereas I would consider the rMBP experience under Lion to be borderline unacceptable, everything is significantly better under Mountain Lion. Don’t expect buttery smoothness across the board, you’re still asking a lot of the CPU and GPU, but it’s a lot better.

Achieving Retina Boot Camp Behavior & Software Funniness
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