In this article, I’ll investigate on MacBook Pro 16” cpu throttling issues when using one or more external display.
Let’s start with the software and hardware specifications of this test:
Hardware:
- MacBook Pro (16-inch, 2019)
- 2,3 GHz Intel Core i9 8 core
- 32 GB 2667 MHz DDR4
- AMD Radeon Pro 5500M 4 GB
- Intel UHD Graphics 630 1536 MB
- Monitor Asus VP28U (3840 x 2160) plugged via Apple USBC to HDMI Connector model A2119
- Monitor LEN L27q-10 (2560 x 1440) plugged via Apple USBC to HDMI Connector model A2119
Software:
- macOS Catalina 10.15.6 (19G2021)
- iStat Menus 6.40
- Intel Power Gadget 3.7
- “yes” for the stress test
- htop to monitor cpu usage
Test environment:
For each test, I simply span 16 (8 cores + hyperthreading) “yes > /dev/null” in the terminal:
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null & \
yes > /dev/null &
then wait about 1-2 minutes for the stats to “stabilyze”.
The temperature in the room is 27 C°
The setup is in this picture (I didn’t use the rightmost display in the tests) :
Test 1: notebook mode: no external display, lid open
Results:
3.2 GHZ
note that “radeon high side” is at 0 watt, since only the Intel gpu is used
Test 2: 1 * 4K external display + internal display (lid open)
Results:
2.6 GHZ
note that “radeon high side” is 20 watt, which is one of the highest value I saw during the test
Test 3: 1 * 4K external display, lid closed
Results:
2.9 GHZ
“radeon high side” is 10 watt
Test 4: 1 * QHD (2560 x 1440) external display, lid closed
Results:
2.5 GHZ
we see that the “radeon high side” is about 20 watt, so it’s normal that the performance are similar to Test 2 (a little bit worst, but may be related to the better thermal management with the lid open in the test 2?)
Test 5: 1 * QHD (2560 x 1440) external display *forced to 1080p resolution*, lid closed
Results:
2.8 GHZ
note that “radeon high side” is 10 watt, results similar to test 3
Conclusion:
in this test, you can see three different behaviors:
- Behavior 1: Radeon GPU not used: best thermal management and less cpu throttling
- Behavior 2: Radeon GPU “partially loaded” (10 watt): still decent thermal management , medium cpu throttling
- Behavior 3: Radeon GPU “fully loaded” (20 watt): high cpu throttling
It seems that the Radeon GPU usage (and then, the heat and the throttling) is impacted by:
- the usage of the internal display only (in this case, Radeon GPU is not used) causes Behavior 1, so best performances and less cpu throttling
- the usage of *only one* display, with the lid closed, and a resolution of 4K or FullHD, causes Behavior 2 (medium throttling)
- the usage of more than one display *or* a resolution different from 4K or FullHD (in my tests I used 2560 x 1440) causes Behavior 3, with the high cpu throttling
Other thoughts:
- it seems that opening the lid can improve a little bit the thermal management only when more than one display is used. Opening it when only one display is used, adds a second display, the Radeon goes in “Behavior 3” and the overall situation get worst
So What?
For the best performance, use your MacBook Pro *without ANY External display, use the integrated display only*.
If you need an external display, the best trade-off is with:
- only one external display
- lid closed
- resolution of 4K or 1080p
The worst performance are when:
- you use more than one display (two external or one external + integrated)
- you use a different resolution than 4K or 1080p (need to do more tests with different resolutions, I only tested 2560 x 1440 by now)
Let me know in the comment if you have any question or you have made similar tests with different results.
Bye
Fabio