Yesterday 9to5Mac released a story based on a post on Reddit suggesting that the CPU slowdown experienced with the 2018 MacBook Pro is not caused by thermal throttling of the processor itself, but rather by power throttling of the voltage regulator module (VRM). They go on to demonstrate a hack suggesting that it is potentially something Apple can fix with an update. This is from the Reddit post...
The ultimate root cause of the very bad performance drop during the throttling is not thermal throttling of the CPU, but rather power throttling of the VRM (voltage regulator module), being unable to satisfy the power desires of the i9 CPU.
When the VRM maxes out (overheats … but this is different from CPU thermal throttling), the motherboard sends a signal to the CPU to drop its speed to minimum (800Mhz) to allow the VRM a chance to cool down. The CPU then returns to it’s previous desire to pull maximum power, spins up to high turbo speeds, and the cycle repeats again. When the CPU keeps switching from Turbo to 800Mhz, it is in a very inefficient state, so the amount of work being done relative to the amount of power drawn decreases.
Apple has shipped the i9 Macbook Pro with it’s CPU power regulation set to 125 Watt Turbo for 28 seconds, 100 Watt Steady state.
I’ve spent a few hours testing at many different draw rates until I could find the rate at which the VRM does not max out, for my machine, that is 49 Watts.
Then in this fast-moving story, Apple has announced an update to fix the issue. Apple told 9to5Mac...
Following extensive performance testing under numerous workloads, we’ve identified that there is a missing digital key in the firmware that impacts the thermal management system and could drive clock speeds down under heavy thermal loads on the new MacBook Pro. A bug fix is included in today’s macOS High Sierra 10.13.6 Supplemental Update and is recommended. We apologize to any customer who has experienced less than optimal performance on their new systems.
While many of the reports related to the bug were aimed at the high-end core i9 machine, 9to5Mac were told that the problem actually affects all of the new MacBook Pro models and so all users should install today’s supplemental update. Jordan Kahn from 9to5Mac goes on...
My understanding from people in the know is that Apple’s internal benchmark testing wasn’t affected by the bug (which is how they missed it) and so all of the stats for the new machines still stand true. That means Apple’s original claim of the 15-inch MacBook Pro being up to 70% faster, and the 13-inch MacBook Pro with Touch Bar to be up to 2X faster remain the same following the update.
Apparently Apple also internally ran tests using Premiere Pro replicating the workloads used in many of the reports related to the bug and have said today’s update indeed appears to fix the problem.
Reddit also recommends the Apple update over their hack...
It does not require you to disable SIP for kext.
It regulates power at a higher level, not at the CPU. This means that a combined workload of both CPU and GPU will work much better with Apple's update than it does with my MSR change.
You don't want to be stuck on an old version, so ultimately, you have no choice but to take the update :)
I've done some preliminary testing, and it essentially has the same burst characteristics for purely-CPU load as my patch. I actually get very slightly lower Cinebench scores on a cold run than with my MSR, likely because Apple is throttling power very slightly below my thresholds.
For those who are curious, because Apple is managing this at a higher level, the MSR 0x610 is unchanged and still reads as it did before.
So from this explanation, it would seem that Reddit was pretty close to the solution. It would seem that we may have a solution, but the proof will be in the pudding as we say in the UK.
We have also updated our story Is There A Problem With The New 2018 MacBook Pro? Check Out Our Initial Analysis Now - Updated with this information so all the news relating to the issue is in one place.
Update July 25th at 15:30 BST - Apple Fix Seems To Be Working
AppleInsider has completed some tests to show the before and after from their CineBench tests that we covered in our article Is There A Problem With The New 2018 MacBook Pro? Check Out Our Initial Analysis Now - Updated. These tests would suggest that the Apple fix is working but these are video related tests.
After implementing the Apple Patch they found not unexpectedly that the Geekbench testing was about the same as it was during the first round of testing.
AppleInsider then repeated the same Cinebench test on the MacBook Pro with Core i9 processor, under the same conditions, and the same ambient temperature. The first run of the test hit 953, with a 10-run average of 945. Clock speeds remained high, with only very brief excursions below rated speed. A 3.5GHz speed was maintained in the Core i9 model, with most of the speed excursions only going down to 3.1GHz.
But synthetic benchmarks like the Cinebench test are not the whole story so they repeated the FCPX and Premiere Pro tests they ran before the Apple Patch came out.
A five-minute 4K project with effects in Final Cut Pro X rendered in three minutes and 39 seconds before the update, and three minutes and 29 seconds afterwards.
Premiere Pro saw big gains, going from 24 minutes and one second pre-patch rendering time for the same project, to 21 minutes and eight seconds.
A one-minute 4.5K Red RAW project with effects rendered in Premiere Pro took eight minutes and one second to complete before Apple's patch, and six minutes and 59 seconds after application
AppleInsider then speculates as to what the Apple Patch has done. Theories, including their own, include voltage regulator module overheating and an insufficient thermal design.
Originally, we said that the most obvious immediate solution was for Apple to alter the peak speed of the processor by adjusting the power that the CPU gets. In doing so, slowing the peak speed of the processor may have allowed it to finish tasks quicker, as it will slow down less to keep the CPU cool. But, it doesn't appear that this is what Apple has done, given the CPU speeds we saw.
Another possibility was for Apple can to alter the fan speed thresholds to accommodate a CPU load better, by setting them to kick in sooner and faster than it did at launch, but this also doesn't seem to be the case.
A third theory alleged that Intel's monitoring tool was somehow faulty, but an update to the software over the weekend didn't change the results at all. We know because we tried the tests after the tool was re-released after a brief absence.
AppleInsider concludes that the patch fixes some or all of these things minutely, or maybe a software bug that has been repaired.
It also appears that compared to other i9 machines running Windows, the Cinebench testing on the i9 is still a little lower. But, the real-world testing isn't that much slower, if at all.
MacWorld magazine has posted some preliminary results on Twitter of some Premiere Pro tests...
2017 2.9GHz Core i7: 90 min
2018 Core i9 before patch: 80 min
2018 Core i9 after patch: 72 min
Also, very even clocks at or above base instead of spiky throttling.
Geekbench Labs founder John Poole has also tested the 2018 Core i9 MacBook Pro after the patch and found that it was faster with a more stable processor frequency.
It was slightly slower than the 2018 Core i7 MacBook Pro. Poole says that while long running heavily multi-threaded tasks are going to see similar performance on the Core i9 and Core i7 machines, single and lightly-threaded tasks should be faster on the i9.
Dave Lee, who highlighted the throttling problem in the first place, has also tweeted some post-patch test results and said the performance was "much better".
We understand that Apple reached out to Dave Lee and worked with him to replicate his workflow, getting to the source of the bug. MacRumors has reported...
Apple discovered that there was a missing digital key in the MacBook Pro firmware that impacted the thermal management system, driving down clock speeds under heavy thermal loads. This was a problem that appears to have affected all 2018 MacBook Pro models.
The problem appears to have been successfully addressed in today's macOS High Sierra supplemental update, and Apple has issued an apology to customers who experienced less than optimal performance on their new 2018 machines.
Customers who have a 2018 MacBook Pro and have not installed the update should do so immediately to see the performance improvements for themselves.
Dave Lee has now uploaded a new video in which he says that the supplemental macOS High Sierra update has successfully fixed the throttling issues that he saw prior to the patch with Premiere Pro.
Using the same Adobe Premiere render time test, Lee found that the Core i9 MacBook Pro was significantly faster than the 2017 Core i7 model that had beaten it prior to the patch.
In this video, Dave Lee went even further having tested six laptops equipped with an i9 from various manufacturers. It wasn't a huge surprise that he reported that the thicker 'gaming' laptops did outperform thinner laptops, including the MacBook Pro with their better cooling features.
That said Dave Lee championed the new MacBook Pro as being a lot quieter, which in our sector is important.
Dave Lee goes on to say that overall, the Core i9 MacBook Pro is performing the way that a 6-core MacBook Pro should, but he wishes Apple had engineered a better thermal solution for the i9.