Improved WiFi Performance

One of the more notable changes in the 2011 MacBook Pro lineup is a completely different WiFi chipset and subsequent RF design. The previous 2010 MacBook Pro included 802.11a/b/g/n support using a BCM4322 which included full 2x2 MIMO support, meaning two spatial streams were supported. Bluetooth 3.0 was provided by a BCM2070, and the whole solution was simply a BCM954224HMB reference design.


2011 MacBook Pro WiFi+BT Module—Courtesy iFixit

Back when the new Airport Extreme (Simultaneous Dual-Band II) launched, it included one little-hyped feature. One of the most notable improvements over the previous design was inclusion of a full 3x3 radio—again 3 spatial stream support. At the time, there were no Apple products that could actually use 3 spatial streams, and as a result many assumed the feature was completely locked down.


My wall-mounted Airport Extreme (Simultaneous Dual-Band II)

The Airport Extreme has had 3 spatial stream support for a long time to little fanfare. The Airport Extreme still only allows 20 MHz channels on 2.4 GHz spectrum. Other WiFi AP vendors ship firmware which will automaticaly selects 40 MHz channels on 2.4 GHz spectrum per WiFi Alliance rules, but Apple uniformly uses 20 MHz channels on 2.4 GHz. It's a design choice Apple made a while ago which still exists to this day – for two reasons. The first is that it prevents you from being, well, less than courteous and eating up to over 80% of spectrum on the already crowded 2.4 GHz ISM band with one AP. Apple's rationale for disabling 40 MHz channel support on the 2.4 GHz spectrum (for both clients and APs) is that Bluetooth needs lots of bandwidth to hop around on, and already a wide variety of Apple desktop and notebook products come by default with Bluetooth peripherals. Maintaining a good A2DP stereo stream for example requires considerable 2.4 GHz bandwidth. Instead, if you really want 40 MHz channels Apple recommends using 5 GHz, which Apple clients and Apple APs both allow to work with 40 MHz channels.


2011 MacBook Pro WiFi+BT Module—Courtesy iFixit

The 2011 MacBook Pro refresh is the first line of Apple products to bring 3x3 radios that can finally enable faster transfer rates and better performance at the edge of WiFi range. 3x3 MIMO support is starting to become relatively common in the PC notebook space, but this is the first for Apple. Inside the 2011 MacBook Pro is a BCM4331 and three clearly U.FL antenna connectors (on the left) for WiFi, as opposed to two in the previous design.

The fourth on the right is for Bluetooth, which remains 3.0 and provided by the same BCM2070 as previous models. Interestingly enough, though the Bluetooth controller is the same, the 2011 MacBook Pro includes newer firmware (37 vs 20), and software (2.4.3f1 vs 2.3.8f7). Hopefully at some point the older design will see a firmware update and bring whatever changes and improvements were made. Though the software versions are different, we couldn't detect any notable differences between the two in practice.


Left: 2010 MBP Bluetooth Hardware, Right: 2011 MBP Bluetooth

However, there's a dramatic improvement in both WiFi range and performance between the 2010 and 2011 refresh. With 400 ns guard intervals 40 MHz channels, 64-QAM modulation, each spatial stream adds n*150 Mbps. With 20 MHz channels, it's 72.2*n Mbps. For example, 1 spatial stream has a data rate of 150 Mbps, 2 has 300 Mbps, 3 has 450 Mbps, and so forth all the way up to 4 spatial streams and 600 Mbps as defined in the 802.11n specification. The reality of the matter is that what physical layer rate you'll see depends on the modulation and coding scheme and how many streams are going. You can look those up at any time by holding option and clicking the WiFi indicator, and looking them up in a table.

We tested a 15" 2011 MacBook Pro alongside a 15" 2010 MacBook pro connected to an Airport Extreme (Simultaneous Dual-Band II) running latest firmware. I originally suspected that 3 spatial stream support wasn't enabled, and that Apple would push a firmware update out right after their first 3 spatial stream products started shipping. Interestingly enough, it's always been there, enabled, this is just the first client I've gotten my hands on that does it. I'm not a huge fan of the Airport Extreme (I use a WRT54G-TM with Tomato and a WRT-600N with DD-WRT), but it's the only thing on hand with 3x3 MIMO. I tested in four different locations in my house—in my office, living room, kitchen, and outdoor patio. The base station is in my office mounted on the wall close to the ceiling, and those locations are subjectively ordered from best to worst.

To test, I initiated a large transfer over SMB (from a Windows Server 2008 R2 install with a 5 TB RAID5 array connected over gigabit ethernet) on each client, continually pinged AT, and at each location checked the reported transmit rate and RSSI. What we're reporting here is again the physical layer link. I'll show in a second that real-world transfers also improved, this just gives some perspective for what raw link rates are being negotiated at each location.

WiFi Transfer Rate Differences—802.11n
  2011 MacBook Pro 2010 MacBook Pro
  RSSI Transfer Rate (Mbps) RSSI Transfer Rate (Mbps)
Location 1—Office -44 450 -42 300
Location 2—Living Room -61 130 -64 117
Location 3—Kitchen -69 117 -68 78
Location 4—Outdoor Patio -85 20 -84 13

In most cases, RSSI is within the margin of error. RSSI is generally not something you can compare, but since both wireless chipsets are Broadcom and the numbers are so close, it seems they're reported the same way and probably just dBm. Just know that generally it doesn't work that way unless you're lucky. What's important, however is that the negotiated link speed is noticeably better in essentially all locations on the new 2011 MBP. Even when the extra antenna isn't being used for a spatial stream of its own, it's actively improving link quality and helping the new MBP negotiate higher physical layer speeds.

So how much of a difference does 450 Mbps 3x3 make over 300 Mbps 2x2? With both in the exact same spot in my office, I saw throughput of 98.1 Mbps on the 2010 MBP compared to 113 Mbps on the 2011 MBP. The modest 15% improvement over the previous generation's wireless chipset isn't dramatic, instead the dramatically improved range is.

110.28 Megabits/s over WiFi. I later saw sustained 113 Megabits/s.

Subjectively, I found many more APs visible with the new MBP. I was able to cling onto my AP all the way out to the curb (just like smartphones) when connected on 2.4 GHz, something the old generation just couldn't do.

The only complaint I have about the new wireless chipset is that it seems to hunt around for what rate it wants negotiated. I saw a number of different MCS (modulation coding scheme) values with the 2011 MBP in the exact same place. Link rates from just below 300 Mbps all the way up to the expected 450. It seems to settle out at the expected 450 Mbps in the same room as the AP, it just takes a while, whereas other 2x2 stacks I've seen always lock onto 300 Mbps and stay there in the same room and position.

Display Quality Thunderbolt
Comments Locked

198 Comments

View All Comments

  • Anand Lal Shimpi - Friday, March 11, 2011 - link

    Thank you for reading them, comments like this really do make it all worthwhile :)

    You wouldn't believe how much time was spent making sure Apple wasn't doing something funny with the max turbo frequencies. At the end of the day it was a non-issue, but we had to be sure.

    Take care,
    Anand
  • Ryan Smith - Friday, March 11, 2011 - link

    Just to add some technical background to this, it's actually quite complex to get a CPU speed reading on modern CPUs. Mac OS X's Sysctl reports the base speed of the processor, regardless whether Turbo Mode is active or not. So on the 15" low-end QC model you will always see 2.3GHz.

    To actually read the instantaneous speed of any given core, you need to peek at the CPU itself and count the cycles - Intel actually has a handy document detailing an algorithm to do this(1). The issue with that is that it requires peeking at the Model-Specific Registers (MSRs), which require Ring 0 access; or in other words you need a broker at the driver level to do it.

    Linux already does this (/proc/cpu/0/msr), and on Windows it's fairly trivial to load a driver alongside an Admin-level application to do this(CPU-Z, etc). Under Mac OS X this requires installing an Extension (at least as far as I know) which gets messy. If you don't go through this process you'll never be able to read the core speeds accurately, which is why there's virtually no Mac software capable of this.

    Fortunately MSR Tools exists, and it has a 32bit extension to allow it to peek at the MSRs. The right answer of course is always the last answer you try, so this was only after trying several other ways of calculating the CPU speed and a couple different OS-agnostic benchmarks to try to rule out OS differences.

    1) http://download.intel.com/design/processor/applnot...
  • tno - Friday, March 11, 2011 - link

    +1

    I've been planning to plunge into Mac ownership for sometime, especially with grad school looming I really want something that's more comfortable to work on than my netbook but still fairly portable. This review really helped me gauge whether it was worth putting in the extra cost for a 2011 13" MBP or settle for a discounted 2010.

    So am I all set? Hardly! Now I need to see what the 2011 13" MBA has to offer! I'm praying that cost stays roughly the same and a move to a ULV SNB leads to 12+ hour battery life and a similarly huge leap in performance as the move lead to in the MBP. I am a sucker for lightweight form factors.

    This article is also the first one to make me ever consider the 15" MBP. I have been fairly opposed to the bulk but the performance is quite something. If I went that route then I would probably have a C2Q, water-cooled, ATI and SSD driven rig to put up on AT forums. Taking offers!
  • tno - Wednesday, May 4, 2011 - link

    Rezzing a dead thread! I bought the 13" MBP! $999 at MicroCenter, too good to pass up! So . . . who wants my rig?
  • JasperJanssen - Saturday, August 6, 2011 - link

    I, on the other hand, have gone the other way. My MBA13 is being put together in China now.
  • ltcommanderdata - Thursday, March 10, 2011 - link

    A great review. I do have some additional questions though. First, given Apple was the instigator of OpenCL, it'd be great if you could run some OpenCL benchmarks. Are the Sandy Bridge MacBook Pro's disproportionately faster than the Arrandale MacBook Pro to indicate that OS X has CPU OpenCL drivers that can take advantage of AVX? Probably not, and this will hopefully come with Lion. Given nVidia's GPGPU push can the HD 6490 still keep up with the 330M GT in OpenCL? How does the HD6750 do?

    http://www.bit-tech.net/hardware/graphics/2011/01/...

    "'[Intel] will be releasing OpenCL graphics drivers to developers during the course of 2011. [Intel] continue to evaluate when and where OpenCL will intercept various products"

    And is there secret Sandy Bridge IGP OpenCL support? Bit-tech got a quote from Intel that Sandy Bridge IGP OpenCL support was inbound sometime this year and if anyone would be motivated to get it done it'd be Apple.

    And finally, does Apple now support hardware H.264 decoding on ATI or Intel GPUs? Previously, only a few nVidia GPUs were supported in Snow Leopard, such that the Arrandale MacBook Pro actually had to power up the 330M GT to decode H.264 wasting power compared to the perfectly fine Arrandale IGP if Apple just wrote the drivers. Do the new Sandy Bridge have the ATI GPUs doing H.264 decoding now, is the Intel IGP supported, or in the worst case is no H.264 hardware acceleration available now that nVidia GPUs are gone? Perhaps lack of hardware H.264 decoding is what makes the FaceTime HD CPU usage so high? QuickSync is only accelerating the encoding phase?
  • Anand Lal Shimpi - Friday, March 11, 2011 - link

    Some answers:

    1a) I don't know of any good GPU based OpenCL tests under OS X at this point. I'm not even sure if Apple's Intel HD 3000 driver supports OpenCL.

    1b) Intel mentioned SNB's GPU technically supports OpenCL however there are no plans to release a public driver at this point.

    2) Hardware H.264 decoding is enabled on the 2011s and it is used while FaceTiming, at least according to Apple.

    Take care,
    Anand
  • ltcommanderdata - Friday, March 11, 2011 - link

    Thanks for the reply.

    http://www.macupdate.com/app/mac/33632/smallluxgpu

    In regards to OpenCL testing, most people in OS X seem to use SmallLuxGPU which is an OpenCL raytracing benchmark. I don't have much experience with it, but it might be worth a try.

    In regards to hardware H.264 decode, do you know if the IGP is doing it or does the discrete GPU still have to be powered up as in the 2010 Arrandale MacBook Pros?

    Thanks
  • Anand Lal Shimpi - Friday, March 11, 2011 - link

    It's my understanding that the IGP can do the decoding, although note that while FaceTime is running the dGPU is enabled by default.

    Good call on SLG, I had forgotten about that :)

    Take care,
    Anand
  • secretmanofagent - Thursday, March 10, 2011 - link

    Hello authors,
    On one of the pages, you mentioned this:
    "This isn't Mac specific advice, but if you've got a modern Mac notebook I'd highly recommend upgrading to an SSD before you even consider the new MacBook Pro. I've said this countless times in the past but an SSD is the single best upgrade you can do to your computer."

    Is there an article where you recommend the best update for my model? Should I even bother with the drive? I realize the X3100 is going to still hamper any sort of graphical performance, but wondering if it's worth the effort.

    Out of curiosity as well, would a Time Machine restore be possible if you update the drive?

Log in

Don't have an account? Sign up now