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

  • hyrule4927 - Saturday, June 23, 2012 - link

    I appreciate your effort to add some numerical data to the review, but I still have to ask for a little more. You must admit that Half Life 2 is certainly not maxing out the CPU or GPU, and thus not a good representation of the maximum temperatures a consumer could see. I'd really like to see Furmark testing on the GPU and Prime95 or Intel Burn Test on the CPU, as these are some sure ways to keep the system at one hundred percent load. If you find these tests unreasonable, at the very least, try some more demanding game at a higher resolution. Or perhaps Folding@Home on a full 8 threads and the GPU client as well. If that doesn't push the CPU past 63C and the GPU past 72C, Apple has performed a miracle and created the perfect 24/7 folding system.
  • Megatran - Saturday, June 23, 2012 - link

    I agree, there needs to be a more comprehensive temperature test. The test for Half Life 2 may introduce bias into the results (if it was a CPU dependent game), as it would require less load on the cpu of ivy bridge thus resulting in lower temperatures. This creates a validity problem, as the temperature difference is not isolated to the difference in the design of the enclosure/cooling system.

    As in the above post, Prime95 for CPU and furmark for GPU and testing the maximum temperatures on both the 2011 mbp and the rMBP are good tests for comparison of temperature.

    I am naturally skeptical of the temperature results of even your 2011 MBP test, as a few friends of mine have reported temperatures easily in excess of 85c+ while under full load. Whilst it is common for many people to believe it is "normal" for a CPU to be reaching that temperature and say it is "fine" if it doesn't shutdown, it would appear to have an effect on the lifetime of the said components under heat stress.
  • EnerJi - Saturday, June 23, 2012 - link

    I'd love some more details on temperature as well. How does it behave with 50 Chrome tabs open, with Flash running in most of them, etc.
  • wfolta - Sunday, June 24, 2012 - link

    Non-scientific test: I started 8 UNIX "yes" commands, which pegged all 8 virtual cores, sending the CPU A power draw from 9.25 watts up to 13.75 watts. (It was plugged in and charging.) Not floating-point operations of course, and no GPU, but... After 4 minutes the CPU2 temperature was 207-210 degrees F, and the ENCLOSURE temperature was 93 degrees F. The fans were spinning at approximately 5000 RPM. I killed them off and approximately 30 seconds later, the CPU2 temperature was back down to 125 degrees F.

    The CPU A power was 13.75 watts during the test, and 9.25 afterwards.

    Similar results with Cinebench.
  • EnerJi - Sunday, June 24, 2012 - link

    Interesting, thanks for testing! When you say the enclosure temp was 93 degrees F, where / how were you measuring? Could you have rested the laptop on your lap for any period of time?

    Also, any comment on the lack of "buttery smoothness" with scrolling that Anand referenced? Is it very noticeable?
  • wfolta - Sunday, June 24, 2012 - link

    By "ENCLOSURE" temp, I was literally just reading off of the iStat Menus 3 readings. It's a standard sensor somewhere.

    From what I've noticed, it's more comfortable on my lap than my 2010 MBP 17" has been. I was even able to play Diablo III with it on my lap, which I'd have never attempted with the old MBP.

    The fans don't come on as often, and at lower speeds they're inaudible. Even at higher speeds, their white-noise quality makes them less annoying.

    The scrolling has occasionally caught my eye, but I wouldn't say it's worse than the previous MBP either. More like a thing I noticed once or twice and brushed it off.

    Some people have commented about the RAM. I've been running with 4 GB in my old MBP and it was adequate, but just barely. (Another factor was that my 7200 RPM hard drive failed and I had to replace it with a slower drive.) With 16 GB in the new machine, it means that I have two doublings, which Moore's-Law-wise means about 3 years before I'm back in the same boat. With SSDs, I'll actually be a bit better off. I'll take that.

    If you can wait until next year's model, I hear that Intel's Haswell CPUs will be a noticeable improvement, SSD prices will have dropped significantly, as will retina displays.
  • EnerJi - Sunday, June 24, 2012 - link

    Thanks for the subjective temp comments, and good advice.

    I have a late '08 MBP (bought in Spring '09 just before the refresh, and before I knew of the Mac refresh cycle!) and am itching to upgrade. I'm considering the base rMBP model with 8 GB RAM and 256GB Flash.

    When I bought my current MBP 4 GB RAM was more than I needed, but I knew I'd grow into it. 4GB of RAM is starting to feel a bit limited right now (primarily because I keep too many Chrome tabs open), but when I start paging to disk I can usually solve it by closing a few tabs or (worst case) restarting my entire browser.

    8GB RAM should be plenty for my needs, although again, it wouldn't entirely surprise me if in 3-4 years I start bumping into its limitations.
  • wfolta - Sunday, June 24, 2012 - link

    To be honest, the machine I got was about 40% over my usual budget, but I also had a gift card that covered half of that, so I splurged. Without the gift card, I would've had to make a very difficult choice.

    Still, I'd lean in the direction of getting 16GB of RAM. You can use external drives and you'll be able to get a larger SSD down the road for a better price. But RAM is RAM and you can never really have too much. (At least for the things I do.)
  • hyrule4927 - Sunday, June 24, 2012 - link

    So you managed to push the CPU to 99C? I am rather certain that the CPU will throttle at that temperature. So, it looks like this laptop can deal with single threaded games from 2005 with reasonable temperatures, but can't handle the heat when it has to do some real multithreaded processing. Hopefully a similar test will be added to the review soon.
  • wfolta - Sunday, June 24, 2012 - link

    You did't look at the graphs in the article, did you? They ran CInebench, pushing 8 threads to 100% for 20 minutes without any CPU throttling.

Log in

Don't have an account? Sign up now