A detailed investigation by XDA-Developers discovered the mechanism of the cheat. Hit the source link for the full details, here’s the TL;DR version.
When a benchmark is detected, the 5 locks the “little” cluster of its Snapdragon 835 chipset at its highest possible clockspeed – 1.9GHz. This isn’t an overclock, but it does disable thermal throttling. The “big” cluster is not affected by this.
That’s enough to push the multi-core benchmark results as high as they are, single-core results are unchanged (still, most people just look at the multi-core result). With cheating disabled, the “little” cluster spent only a quarter of the time at max frequency, so this also makes performance more consistent.
Interestingly, in CPU-only benchmarks like Geekbench, the OnePlus 5 didn’t heat up that much faster. It’s when GPU benchmarks are run that the heat becomes too much – the back of the phone was 50° C! Note that GPU clocks aren’t changed, but keeping the “little” cluster at max speed is enough to push thermals over the limit.
Not all benchmarks are affected, here’s the list of benchmarks that OnePlus checks for. Note that the “secret build” listed in the chart has a different package name, so it isn’t detected.
The official statement from OnePlus claims that this way it shows the performance potential of the 5.
PS. The OnePlus 3 cheat was of a similar nature, though not identical. There the minimum frequencies of both the “big” and the “little” clusters were raised. There was still some thermal throttling going on, just to a smaller degree.
reminds me of the volkswagen emission scandal.
90c is exactly blow the t-junc so it's the maximum safe temp. it's still pretty stupid and harms your battery. I never benchmark any of my phones anymore. it might harm them D:
Can you run you phone in this mode with any application? No! Some people, like you, just don't get it.