The next-gen MacBook Pro with Retina Display Reviewby Anand Lal Shimpi on June 23, 2012 4:14 AM EST
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.