Apple Vision Pro Sets Its Fan Speed Based On How Much Noise The Microphones Hear

A VR developer made a very interesting discovery about how Apple Vision Pro sets its cooling fan speed, and thus thermal-based performance limits.

As the computational load increases, processors heat up. Eventually a thermal limit will be reached at which point the processor must intentionally reduce its peak performance to continue functioning, or shut down. To avoid this outcome, devices with active cooling progressively increase the fan speed as heat increases in order to reduce the temperature and maintain peak performance.

With Apple Vision Pro however, temperature doesn’t seem to be the only factor in setting the fan speed. According to Max Thomas (aka Shiny Quagsire), the main developer of the visionOS port of the SteamVR streaming tool ALVR, the headset also sets the maximum fan speed based on how loud the fans are, measured with the headset’s microphone array.

lolll I found the answer, I was getting fucked by the userexperienced. Apparently it dictates thermal limits based on fan limits, and it sets fan limits based on *how much it hears the fans in the mics*

If I blast white noise, fan speeds stay at max + no throttle

— Shiny Quagsire (@ShinyQuagsire) June 23, 2024

The idea is presumably that in louder environments, those with more ambient noise, the fans will be harder to hear. So the overall goal of ensuring you rarely hear any fans can be maintained while maximizing performance.

This all leads to the bizarre conclusion that Apple Vision Pro should perform better in noisy environments than in quiet ones, because in quiet environments the fan speed will be limited, and thus the system will throttle performance at lower temperatures.

Thomas said he was able to verify this by blasting white noise, making it harder for the microphones to hear the fans.

We’re not aware of any other device that works like this, and it’s another example of the attention to detail – or overengineering depending on your viewpoint – present in Apple Vision Pro.