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

  • Penti - Saturday, June 23, 2012 - link

    W8 doesn't change anything, having one setting for Metro and one for Desktop that works just like before doesn't cut it.
  • Spoony - Saturday, June 23, 2012 - link

    I don't think you've been understanding what I've been saying.

    Quartz is a fully resolution independent drawing layer. It can map to any pixel density necessary. It is incredibly fast and flexible, especially when tied in to technologies like Core Animation, Core Image, and Core Text.

    It's also worth noting that Core UI exists in OS X, and has done since 10.5. This is a vector/texture baking engine that draws all interface elements in OS X in a fully resolution agnostic way. This is a very nice, and slick piece of software.

    You do make a point, Apple keeps doing this 2x scaling thing. Why?

    As it turns out, U/I scaling is a very complex thing. Not only is it a bit difficult to wrap your head around, it's a bit difficult to code against. Everybody isn't about to go build vector assets for their applications. Apple has to meet developers (and its own internal application teams, probably) halfway. Thus the @2x assets. It is a somewhat limiting, although fairly consistent and simple method for enabling bitmap creation in a resolution independent interface.

    So you're wrong, OS X does have (and has had) support for full resolution independence. You can scale to your heart's content, from a 600dpi printer to a 72dpi display, at any interface factor.

    The question is simply more complex than "does the slider work". Windows does not scale well at all, applications tear, refuse to scale, magnify far too much, render incredibly blurry images and text. The rendering layer is not versatile, nor set up for this kind of usage. Win8 improves matters, but not with as much depth as we'd have hoped.
  • ananduser - Sunday, June 24, 2012 - link

    I know that Apple's Quartz engine is scaling capable the agnostic and traditional way. Just was never good at it for extreme scenarios; a common gripe with macusers demanding better implementation. Windows' similar mechanism was always more efficient especially since Vista(XP's sucked).
    3rd party apps that don't scale properly have only their devs to blame. I don't know your particular app use on Windows but I can say that you gripes with it are exaggerated or maybe translated from your OSX experience. Battle of the sliders is ultimately a question of correct dev use. 3dmark for instance makes use of their own trademark GUI that does not make use of Win resources. I've always hated that. So does itunes on WIndows or Safari. These will never work right.

    The 2x scaling is a rigid compromise. It achieves consistency but not resolution independence. As I said before, resolution independence does not exist as it is idealistic in theory, and abstracts constraints such as scaling factors. If Apple pushes ahead with their low/normal/high scaling presets across their entire line-up, and in the process completely eliminates the notion of changing resolution(as in picking a number from a table) they will achieve a consistent experience like on ios; and it will still not be resolution independence "from a technical pov".
    I'm arguing semantics and not the MBP-R which is a spanking machine.
  • Spoony - Sunday, June 24, 2012 - link

    Lots of the software I use on Windows fails hard when you crank that slider up. Photoshop, Illustrator, SAP, iTunes (woe is me), Chrome, Office, etc... a vast majority of the software I want to use does not work correctly. Plus Win7 isn't exactly elegant about scaling artwork, even universal widgets get a little weird looking.

    And here I agree with you. 2x is rigid, it is not ideal, we would want to pick a resolution and then pick a U/I scaling value to get exactly the pixel density and U/I size that is ideal for our use. I would like that a great deal.

    Unfortunately that's not the reality of designing interfaces today. We are moving into new territory here from an execution standpoint, and you can't just go vectorize all your assets and FP-define all of your layout coordinates and transforms overnight.

    To make this work, Apple need to meet developers and users halfway. They need to make it simple for the user to select the most comfortable size for elements, while also providing a "we believe this is best" mode. They need to give developers a relatively straightforward way to develop assets for these higher resolution displays, and not force too much layout tweaking.

    This is a transitional period. I believe Apple has struck a decent balance. A balance that works and will actually allow this to fly. It isn't the best of all worlds right now, but that day is coming. Certainly what Apple ships today is better than what Microsoft ships today. That difference will also be eroded by time.
  • ananduser - Sunday, June 24, 2012 - link

    I noticed Anand's review update. Windows set on 200% increase, makes the desktop similar to OSX' retina setting. And furthermore Anand also stated that under this state Windows faces the same 3rd party related issues as OSX.

    "To make this work, Apple need to meet developers and users halfway. " One modification...Apple needs to meet "their" developers and "their" users.

    "Certainly what Apple ships today is better than what Microsoft ships today."
    I'm not sure you want to go far as to compare 2 different OS architectures based on high res panel support alone. This is first and foremost a subjective discussion before an objective one.
  • ananduser - Sunday, June 24, 2012 - link

    Win8 has the best high res support of the market. It's completely panel agnostic(11 inch all the way to Ballmer's wall TV). It's easy to diminish W8, but it is more of a step forward than Apple's traditional "small steps" policy.
  • Spoony - Sunday, June 24, 2012 - link

    Only in Metro mode.

    In "old-style desktop" mode it exhibits the same problems as Win7. So it will require developer effort in the same way Mac OS X will.

    Windows 8 is well known to produce very polar reactions. The direction and momentum of Metro development is highly questionable right now. There are a lot of unanswered questions and not a lot of trust in Microsoft's path.

    On the flip-side, Apple is shipping a high-res hardware product today with a clear and well known path to high-res execution today. They have a defined timeline to their next OS and a price tag attached. Everything is a known quantity here, and developer support is strong.

    Windows 8 will be released in the fall sometime with a presently unknown price and an unknown vector to high-res asset curation.

    This is not a post bashing Microsoft or adoring Apple (none of them were). I am plainly stating the way that two different companies have tackled a very complex issue at this moment in time. I deeply hope that Microsoft, Apple, Linux, and 3rd party developers all put forward competitive support for high resolution displays because they are the future, and I'd like to enjoy them.
  • ananduser - Sunday, June 24, 2012 - link

    "Everything is a known quantity here." Apple's biggest advantage.

    "I deeply hope that Microsoft, Apple, Linux, and 3rd party developers all put forward competitive support for high resolution displays" The potential issue is that they all put competitive efforts but different efforts. Each one goes their own way.
  • wendoman - Saturday, June 23, 2012 - link

    That's why Intel QuickSync doesnt work on Mac's? LOL
  • Spoony - Saturday, June 23, 2012 - link

    "High-performance H.264 encoding3
    When you select a standard HD export setting, QuickTime Player takes advantage of hardware video encoding for optimal performance."

    "Supported on the following Mac models: iMac (Mid 2011 or newer), Mac mini (Mid 2011 or newer), MacBook Air (Mid 2011 or newer), and MacBook Pro (Early 2011 or newer)."

    http://www.apple.com/osx/whats-new/features.html

    Apple does things when they're good and ready (for better or worse), and by the looks of things with Mountain Lion they're exposing QuickSync underneath AVFoundation or QTKit.

Log in

Don't have an account? Sign up now