Google Nexus 4 Review - Google's new Flagshipby Brian Klug on November 13, 2012 8:45 AM EST
The Nexus 4 is based around a 1.5 GHz Qualcomm Snapdragon S4 Pro SoC, the quad core Krait APQ8064 with Adreno 320 GPU, which is still built on a 28nm process. The combination of APQ8064 for AP and MDM9x15 for baseband is Qualcomm's Fusion 3 platform, and the Nexus 4 and Optimus G are the first phones to market based on that platform. This is a relatively unique opportunity for Nexus, which until recently wasn't really first to market with the latest and greatest silicon.
A while ago we posted our Nexus 4 and Nexus 10 performance preview. At that point we still had a lot of testing to perform, and many people noted that the Nexus 4 performance was far behind the LG Optimus G despite it being based on the same platform. Later, some people noticed that I had uploaded another set of results from GLBenchmark 2.5 to the online result browser with much better performance. The difference wasn't some over the air software update but rather that I was running some of the tests with the Nexus 4 in a ziplock bag inside the freezer to mitigate any condensation problems, and simultaneously nail down any possible thermal throttling.
I've re-run everything and can confirm obviously that there was thermal throttling going on affecting some of the results, and have included the new results wherever there was a deviation from previous. For those wondering why the LG Optimus G wasn't affected in spite of it having the same platform, the reason is because the results from the Optimus G were run in parts due to some instability affecting its ability to run a complete set of tests without crashing. The Nexus 4 has newer drivers that don't crash during a full GLBenchmark 2.5 run but as a result run the device long enough for thermal throttling to kick in.
The result of the tests in the freezer results that are much closer to what we'd expect based on the APQ8064 MDP/T runs and the Optimus G numbers I saw in Korea.
When it comes to the CPU side of things there were results also affected by thermal throttling. I spaced some of those runs out (unintentionally) enough that performance didn't change, but for other things it did affect performance. I can't tell what GPU clocks end up being when the SoC decides to throttle, but it is possible to nail down what CPU performance state APQ8064 settles down into when there's throttling going on by looking at the state tables.
I can see the Nexus 4 not use any of the performance states above 1134 MHz when it's getting hot, as shown in the images above. I've tweeted a link to the pastebin for thermald.conf which I believe configures the thermal cutoffs and will be interesting to kernel hackers trying to play with these values.