System Performance

The OnePlus 2 uses Qualcomm's Snapdragon 810 SoC. At this point we've seen Snapdragon 810 in a number of devices and have an idea of what to expect. That being said, we've seen that performance can vary based on the device it's implemented in due to cooling and other factors like the CPU governor. On top of that, in many situations a device's performance is heavily dependent on the quality of its software in addition to the processing power of its SoC. For those reasons it's important to run the OnePlus 2 through our standard suite of web and native benchmarks in order to gauge its performance relative to other Snapdragon 810 smartphones, and the rest of the smartphone market as a whole.

Kraken 1.1 (Chrome/Safari/IE)

Google Octane v2  (Chrome/Safari/IE)

WebXPRT 2015 (Chrome/Safari/IE)

When I saw the web performance results from the OnePlus 2 I assumed there had been some sort of error, so I decided to completely reset the phone and run them again. Unfortunately, these results are not erroneous. You may have noticed that they bear a remarkable similarity to the results from the Moto G (2015). After looking at the CPU activity during web browsing I realized that this isn't really surprising, because the OnePlus 2 simply does not use any of its Cortex A57 cores during web browsing. This means that you're really getting a quad core Cortex A53 CPU, and with JavaScript being heavily bound by the performance of a single core it's no wonder that the results are close to those of the Moto G (2015) which uses a quad core 1.4GHz Cortex A53 CPU.

I don't really want to retread the Snapdragon 808 and 810 topic, but it's really worth noting that this is the worst implementation of the SoC I've seen to date. It's worth noting that this doesn't say anything about the length of time the A57 cores can run for when they do actually get used, but it shows that they're not getting used in circumstances where they should be: bursty workloads where the full performance of the CPU is needed for a short period of time to improve the user experience. It's especially concerning because OnePlus was making a great deal of noise about their work to manage thermals on Snapdragon 810. I personally don't think simply not using the big cores on an SoC constitutes properly managing its temperature, and the poor JavaScript performance truly does make browsing the web feel like using a slower and much less expensive phone like the Moto G.

Update:

There has been some concern online that these web browsing results may be inaccurate. The evidence to the contrary has been in the form of results from other reviews, results using other ROMs or kernels, or using other web browsers. To clarify, these scores were achieved using the latest version of Oxygen OS for the OnePlus 2, which is 2.1.2, in the latest version of Google Chrome. The reason for the scores is that OnePlus is specifically detecting whether or not Chrome is the active application, and if that is the case they unplug all of the Cortex A57 cores, regardless of the load being placed by both Chrome and background applications. Below I have embedded a video that demonstrates this behavior.

In this circumstance I launched a CPU load virus with 4 threads in order to cause Snapdragon 810's Cortex A57 cores to reach peak clocks. CPU4 through CPU7 represent the Cortex A57 cores, while CPU0 and CPU1 are two of the Cortex A53 cores, with the other two tracking at the same frequencies but not being shown on screen in order to accommodate my fingers. You can obviously see the clocks of the A57 cores dropping as heat becomes an issue, but that's not really the focus here. What is the focus is how all four cores shut off the moment Chrome is opened. This is clear evidence that OnePlus has hard coded this behavior. Whether or not it was introduced in more recent releases of Oxygen OS is hard to say, but given that users report achieving greater scores a few months ago this is very possible. It's also important to note that this behavior only affects Chrome, and results from the Chrome Dev or Chrome Beta channels are unaffected.

While the OnePlus Two is technically capable of faster browser performance, the performance users will actually see using the only browser included on the device is reflected accurately in the results we have published, and not at all accurately by any results other users are achieving with different kernels that modify the CPU behavior, or different releases of Chrome that aren't detected by OnePlus's software. With that in mind, I see no reason to alter the results that have been published, as they accurately characterize the JavaScript performance that most OnePlus Two users will experience.

Basemark OS II 2.0 - System

Basemark OS II 2.0 - Memory

Basemark OS II 2.0 - Graphics

Basemark OS II 2.0 - Web

Basemark OS II 2.0 - Overall

BaseMark OS II is a case where the Cortex A57 cores on the OnePlus 2 actually see some use, which translates into higher relative scores than what was achieved in browser testing. Improved scores in the graphics and NAND memory tests help make the overall score significantly higher than the OnePlus One. It's worth noting that the use of the Cortex A57 cores means that the BaseMark results may not be exactly representative of how the phone will actually perform in general use. For example, in this case the Cortex A57 cores are in use during the web test, while in general they never get used at all during web browsing, and in more intensive situations the best case is that there are two A57 cores in use at some frequency and the other two are shut off.

PCMark - Web Browsing

PCMark - Video Playback

PCMark - Writing

PCMark - Photo Editing

PCMark - Work Performance Overall

In PCMark the OnePlus 2 again does better in the web tests due to the fact that the A57 cores actually switch on, but falls behind in the photo editing test and even more so in the writing test. The writing test is actually a fairly good indicator of CPU performance, because it involves decompressing text files, moving text from one file to another, adding text and images, and then saving them to disk. During that entire period the A57 cores are not triggered at all, which contributes to the low score. Even with that, it's not exactly clear to me what additional factors make the Snapdragon 808 and 810 devices all perform so poorly here compared to a device like the Moto G which just has 4 Cortex A53 cores. It could very well be the result of issues with ART, or other problems with frequency scaling on the A53 cluster. In any case, like all Snapdragon 808 and 810 devices, the OnePlus 2 struggles in the aspects of the test that heavily tax the CPU.

The issues with Snapdragon 808 and 810 have led to many issues with CPU performance this year across a number of Android phones. However, OnePlus is the only company I can remember publicly stating that they had worked to overcome these issues, and the fact that the OnePlus 2 falls so far behind other 808 and 810 devices in the web browsing puts a lot of doubt in the validity of those remarks. It's pretty safe to say that if you care about CPU performance you're much better off with the OnePlus One or OnePlus X, both of which use Snapdragon 801, and if you're thinking about buying the OnePlus 2 you really need to take the performance issues into consideration because they're on a different scale than those on other recent smartphones. At $400 there's a lot of competition, and the CPU and JavaScript performance on the OnePlus 2 just doesn't measure up.

Intro and Design System Performance Cont'd and NAND Performance
Comments Locked

132 Comments

View All Comments

  • Huan - Monday, December 14, 2015 - link

    Brandon Chester & Ryan Smith, great review as always. Seeing this terrible web browsing java script performance with A57 not activing at all. I am wondering is this review done on the latest OnePlus Two firmware?

    I currently have OnePlus Two, Galaxy S6 Edge and iPhone 6s Plus, the OnePlus Two is slower then iPhone 6s Plus on web browsing. But it has similar web browsing experience as Galaxy S6 Edge using Chrome.

    I am full time engineer, and a part time wedding photographer, I always take picture in RAW and adjust white balance in Lightroom for post processing. When I compared the white point of iPhone 6s Plus ~7000K, to my OnePlus Two, it did look slightly colder, maybe ~7300K but not 8297K. I do noticed OnePlus have sourced panel from different OEMs, maybe I am just lucky and gotten a "more calibrate" display unit in the lottery.

    Never the less, OnePlus using a tag line of "2016 Flagship Killer", the least they can do is to ensure consistent calibration on the display and actually build a good kernel that optimize battery life & thermals while taking advantage of SOC's full performance.
  • Brandon Chester - Monday, December 14, 2015 - link

    It is indeed done with the latest firmware. As I mentioned, I also wiped the device to confirm that there wasn't anything weird going on. As an additional confirmation I actually wiped it again around thirty minutes ago, and re-ran the tests. Nothing has improved, and Kraken is actually much worse at 30,000ms because it takes 20,000ms to complete Astar.

    OnePlus has behavior to automatically detect when Chrome is open and shut off the entire A57 cluster. Even if you use CPUBurn to put extremely heavy loads that activate the A57s they will still shut off the moment you open Chrome. I posted a video of this on Twitter a little while ago to demonstrate it, and you can find it below.
    https://twitter.com/nexusCFX/status/67654327791559...
  • Huan - Monday, December 14, 2015 - link

    Brandon, thanks for the reply, I just run Kraken on the OnePlus Two with the latest firmware the best I can do is ~16,000 ms.

    This is such an unprofessional implementation of the kernel, the easy way out, rather then spending time optimizing performance, battery life and thermals.
  • grayson_carr - Tuesday, December 15, 2015 - link

    The Exynos in the S6 is notoriously poorly optimized for Chrome and has very poor performance in Chrome. The web benchmarks you see on Anandtech for the S6 are using the Samsung browser, which is much better optimized for Exynos. So the OnePlus 2 performing similar to the S6 in Chrome is not a good thing since Qualcomm chips are typically well optimized in Chrome and should perform much better than the Exynos there.
  • zeeBomb - Tuesday, December 15, 2015 - link

    I think I read some where you can download chromium that is well optimized for new Qualcomm devices. For Samsung, maybe a binary lib can help but ima agree with you and recommended stock.
  • Lavkesh - Monday, December 14, 2015 - link

    What kind of a company parrots "flagship killer" all the time knowing how shitty their product is? Such a huge disappointment.
  • danielfranklin - Tuesday, December 15, 2015 - link

    A Chinese company...
  • fguerro - Monday, December 14, 2015 - link

    I have a One Plus 2 and out of the box noticed it was slower than expected. However, I installed a custom kernel and set the cpu governor to performance and turned on the A57 from two cores to four and wow, made a big difference in benchmarks and everyday use.

    3DMark is 1229
    Basemark OS II 2.0 Overall is 1927
    PCMark Work Performance Overall is 5196
    Geekbench 3 Single-Core Score is 1265
    Geekbench 3 Multi-Core Score is 5037
    AnTuTu v5.7 is 67467
    Quadrant Standard is 39128
  • zeeBomb - Tuesday, December 15, 2015 - link

    Damnnn. What custom kernel + ROM are you using? Those are some insane gains.
  • fguerro - Tuesday, December 15, 2015 - link

    I'm using stock Oxygen OS 2.1.2 and the custom kernel is Boeffla

Log in

Don't have an account? Sign up now