Revisiting The OnePlus 3: sRGB, Memory Management, & Moreby Brandon Chester on June 30, 2016 3:00 PM EST
As I mentioned in my initial review, the OnePlus 3 targets the NTSC color gamut. I really feel the need to reiterate that this choice of gamut target makes absolutely no sense. The actual NTSC gamut was never really relevant, even back in the 1950s when it was created. This is because the phosphors used in CRT displays of the time simply could not produce such saturated colors with an adequate brightness level. In fact, most modern displays still cannot realize the original NTSC gamut. Because of this, it was assumed that content was created and should be displayed using the gamut defined by the SMPTE C specification, which is actually smaller than the sRGB gamut. SMPTE C also used CIE Illuminant D65 for the white point instead of CIE Standard Illuminant C which has a CCT of 6774K, making it more blue than the white point used in more modern color standards.
If the NTSC gamut is not a sensible target, a good question is what gamut would be? This gets back into the discussion of color management, which is something I've discussed in the past several times and don't want to tread over again in this article. In theory, it would make most sense for OnePlus to target the DCI-P3 gamut, because right now UltraHD Bluray content uses that color gamut in a Rec. 2020 container for future compatibility as displays actually move to Rec. 2020. That is why Apple is targeting the DCI-P3 gamut on their newest devices, and it's why all the high end UltraHD TVs launching this year use it as well.
Unfortunately, Android poses a problem here. Android has no color management at the system level, and so if you ship a wide gamut display you get oversaturation when viewing anything designed for sRGB, which for most people will include every single piece of content on their phone. Because of this, the only two reasonable options are to just constrain your Android smartphone to sRGB completely, or to include separate color modes that allow switching between sRGB and the wider gamut. This isn't the fault of the Android device makers, and it's clear that the inclusion of wider gamut displays is done with good intentions, but for now we have to wait on Google to bring color management to Android.
One thing I didn't do in my review was test the OnePlus 3 against the NTSC standard. Again, I feel this is mostly pointless because you will not be able to find any content anywhere that targets that gamut, but examining how well the display conforms to OnePlus's target gamut would have been an interesting exercise nonetheless. Unfortunately, OnePlus seems to have changed the white point in the normal display mode significantly with this update, which means any results I report won't be representative of how the phone was on its original firmware, or how it may be in the future. We ran into this same issue with the OnePlus One, where later updates completely changed the calibration and made it much less accurate. OnePlus has a bit of a track record of changing key device behavior after release, with another example being the browser detection on the OnePlus 2 which shut off the A57 cluster. I'm not a fan of publishing results that are subject to change with any update, and I'm not going to play the game of testing a phone again after every single update to see if things have changed, especially when changes are made but not documented at all in the update notes.
Greyscale accuracy with the sRGB mode enabled is a huge improvement over the standard display mode. The CCT average is slightly below target, but only by a tiny amount. My only complaint is that the RGB balance with the whitest shades is shifted too far toward red, and it would be good to tweak this a tiny bit to make sure 100% white is properly balanced so that the display doesn't have any sort of warm cast on webpages and in Material Design applications. Even with that, the error levels for each individual shade of grey are all at or below three, which is what we're targeting. With these changes the OnePlus 3 goes from being one of the worst displays on record to one of the best, and that's a great thing to see.
I was originally concerned that it might be too late to properly fix the OnePlus 3's display once phones had shipped, as there's a degree of variance from display to display. However, it appears that the displays, while inaccurate, were defined well enough that OnePlus knew what to tweak to constrain them to sRGB. In the saturation sweep test you can see that only two error values go slightly above three, with the rest being comfortably below.
With great greyscale and saturation rendering you're usually set for accurate color mixture rendering. With its sRGB mode enabled the OnePlus 3 does a great job of rendering the colors that are part of the GretagMacbeth ColorChecker test. The error value is below our target value of three, and pushing accuracy much further doesn't bring many benefits as at this point you already can't discern the difference between the colors and their actual reference colors unless you have them sitting still beside one another.
To say that OnePlus's new sRGB mode provides a substantial improvement in display accuracy would be an understatement. The display has gone from being the most inaccurate display that I've seen in years, to being among the most accurate displays that we have on record. Gone is the ghastly blue shift, and even in the standard display mode OnePlus has toned that down significantly. The gamut matches sRGB very well, and both greyscale and color reproduction is right on target.