Dissecting Performance: A Look at What Makes the OnePlus 3 & 3T Excellent Real-World Performers
To Android enthusiasts, speed matters — we recognize we use our phones for hours upon hours every day, often in quick and short bursts, and we want the best out of our time and often-expensive flagships.
Surprisingly enough, it’s some of the least expensive flagships that perform the best in the real world — we are talking about the OnePlus 3 and OnePlus 3T, the affordable premium smartphones that still manage to pack bleeding edge hardware. The processing package of these phones should be enough to suggest exceptional performance: a Snapdragon 820/1, 6GB of DDR4 RAM, and even UFS 2.0 storage, the only component that has an update available in modern smartphones like the Huawei Mate 9. For all intents and purposes, the OnePlus 3 and 3T have the best chipset and RAM configuration that non-Samsung and non-Huawei Android smartphones can have at this moment in time, and they will stay at the top until the new wave of early 2017 flagships hit the market.
But as we’ve seen time and time again, good hardware does not necessarily lead to excellent performance. In fact, we saw some glaring flaws in some of the most theoretically powerful smartphones of 2016, something that’s become a sort of tradition with certain OEMs. Leaving aside the specifics, we know that an OEM’s software and the implementation of the hardware at hand can have a tremendous impact in the resulting real-world performance. Thermals, for example, are very important for sustained smartphone usage, and while the Snapdragon 810 is long dead-and-buried (well, almost), we still see some Snapdragon 820 devices heat up quite a bit more than others. That being said, we found the OnePlus 3 in particular to do an excellent job in this regard, so we know that, at the very least, OnePlus learned from the mistakes it made with the OnePlus 2, and that the OnePlus 3 doesn’t butcher its meaty hardware through shoddy implementations.
What about real world performance? There are a myriad of factors that affect the resulting speed of the actual user experience, from the heft of the OS and bloatware to the frequency scaling algorithms employed by the OEM. As we’ve explained in a recent editorial, measuring real-world performance is a hard thing to do, but we can look at the objective causes – code, measurable behavior and design – to get an idea of what makes a phone perform (or appear to perform!) faster. Below we’ll explain and demonstrate some of the more curious factors that help the OnePlus 3 and 3T achieve such excellent real-world performance.
This first example is a kind of illusion rather than an intricate software-hardware implementation. As many of you know, Animations can convey a strong feeling of speed and fluidity to the user — this is why one of the most popular pieces of advice ever given on XDA and other Android communities is setting the animation speed to x0.5 in the “developer options” menu. Many people swear this makes their devices “much faster”, but in reality, the application state itself is loading at the same speed — the information is just displayed quicker, the response time looks shorter. If the activity being loaded or rendered is indeed very simple and takes next to no time to be fully displayed, then this animation speed change is even more effective. The same goes for loading applications from RAM and general in-app navigation, as these settings govern everything from app transitions to in-app animations and the speed of certain UI elements and menus.
CPU Scaling and App Opening Speeds
This one is a curious aspect that I never see brought up when discussing app opening speeds, or general performance for that matter, and it’s a shame that it isn’t given how interesting it is. When Qualcomm brought up the “faster app launch times, and smoother, more responsive user interactions” featured in the Snapdragon 820 and 821, they didn’t specify how this was achieved. In reality, it’s due to a pretty clever feature that Qualcomm makes available on the chip for OEMs that purchase Snapdragon 820 and 821 processors, but not all manufacturers decide to implement it or implement it in the same way. Essentially, the OnePlus 3 and OnePlus 3T are able to detect when Android is opening an application, and then quickly scale up and max out the clockspeeds on all cores in a short burst in order to get the fastest opening speed the device can achieve.
F2FS with UFS 2.0
Another often-understated contributor to the exceptional real-world performance of 2016 flagships is the kind of storage they implement, and the read and write speeds they achieve. This helps in many operations including (and especially) opening applications, meaning many of the famous app opening tests you find on YouTube have a significant reason to detail not just the processor employed, but the storage type as well. The OnePlus 3 and OnePlus 3T are two of many devices that now employ UFS 2.0 storage, in particular a chip manufactured by Samsung. The Galaxy S6 was the first smartphone to utilize UFS storage, which marked a significant improvement over the previous eMMC solutions. The UFS 2.0 standard has faster theoretical maximums than a typical eMMC 5.1 solution, allows for simultaneous read and write processes, and it also includes new protocols and methods to reduce inefficiencies. UFS also has great performance scalability, uses little power and is optimized for mobile like eMMC. High-resolution video recording and storage-intensive tasks as well as loading heavy applications and games are some of the usage scenarios that see tangible benefits from this storage solution.
While many phones today use UFS 2.0 storage (and some even come with UFS 2.1), OnePlus managed to squeeze the most out of the UFS 2.0 chip on their OnePlus 3 by switching to F2FS starting with Android Nougat (and once you reset your device, as the switch requires formatting that would compromise your data). They informally began testing the feature with their Marshmallow community builds, too, and it’s one of the reasons why the OnePlus 3T (F2FS by default) had a small performance advantage over the OnePlus 3 in both storage benchmarks and controlled app-opening tests. F2FS (Flash-Friendly File System) is a file system developed by Samsung in 2013 to cater to the specific characteristics of NAND-based storage solutions, specifically for use on Linux-based operating systems. It employs a log-structured file system, which writes all modifications to disk sequentially in a circular buffer structure, and it’s faster than the traditional EXT4 standard on flash memory in most cases. XDA users have been experimenting with this for years, by the way, and you too can reformat your cache partition through TWRP if your kernel supports F2FS.
Not many OEMs have adopted into F2FS because there are still issues to solve, but some like Motorola have already tried it on their largely-Stock ROMs, making performance all that much sweeter. Furthermore, because of the CPU scaling mentioned above while opening applications, it’s ensured that you’ll get the most out of the UFS 2.0 storage because it eliminates possible bottlenecks caused by an interactive frequency scaling in the CPU. We took a look at the OnePlus 3 and OnePlus 3T’s storage solutions and file systems to clear up some misconceptions, and found that F2FS did indeed make a substantial difference in synthetic benchmarks like AndroBench, but also a noticeable and replicable difference in real-world scenarios such as app and game opening speeds, which we measured using Discomark, gathering large samples and controlling for variables. At the time, it was hard to discern why the OnePlus 3T’s performance was slightly superior to the OnePlus 3’s (early graphs shown above), but further tests with a reformatted OnePlus 3 showed that, under F2FS, the difference almost disappears regardless of storage capacity, as OnePlus’ UFS 2.0 chip didn’t increase storage by employing parallel chips.
What have we learned?
The biggest takeaway of this short exploration is the fact that OnePlus managed to achieve superior performance on the OnePlus 3 and 3T (compared to other OEMs) despite the fact that their devices largely employ the same hardware as other flagships. The RAM amount of the OnePlus 3 wasn’t properly utilized at launch, and OnePlus is still satisfied with a
ro.sys.fw.bg_apps_limit value of 32 (instead of the initial 20), which is still lower than the peak of 60 some more intrepid OEMs chose for their 4GB RAM devices. This puts a cap in the number of applications that can remain open at any given time (keep in mind you can edit this value if you so choose), meaning that if anything, RAM is the one aspect where the OnePlus 3 doesn’t use its hardware to the fullest extent.
But as we’ve shown with the animations example, performance can appear to improve with mere tweaks to the design of the user experience. There are plenty of examples around, but the UI design and animation type or speed choices ultimately make a perceptible difference to the end user; using animations intelligently is not just smoke and mirrors, it’s a smart design practice that other companies like Apple have also exploited to great extent in order to have their phones appear better than they are. OnePlus did a pretty good combination of design tricks and cutting-edge software to make the most out of the hardware in many regards, and the result is what I personally understand to be the fastest phone currently available (although the Pixel and Pixel XL certainly trade blows with it when it comes to smoothness and responsiveness). We hope you enjoyed these curious tricks and stay tuned for more dissections in the future!
What neat tricks have you found make your device faster? Share your observations in the comments!>>> Check Out XDA’s OnePlus 3 Forums!