Display

While the OnePlus 5 uses essentially the same 5.5-inch AMOLED panel with a resolution of 1920 x 1080, the company has made some tweaks to its display profile to improve its color performance. For some bizarre reason, OnePlus was calibrating the 3 to the outdated NTSC color space rather than sRGB, which led to horrible performance and weird colors. With the OnePlus 5, the company has returned to using the correct sRGB gamut for Android, at least at times.

1080p on a 5.5-inch display is still a little disappointing considering 1440p displays at this size are the norm, while entry-level phones now offer 1080p. I get that 1080p screens are still nice and sharp, and do present some performance and battery life advantages, however 1440p is just that little bit better and something you'd expect from a flagship. 1440p delivers a far better experience in mobile virtual reality too; perhaps the lower resolution display here is stopping the OnePlus 5 from supporting Google Daydream.

The OnePlus 5's AMOLED produces a maximum brightness of around 410 nits, which is good from an AMOLED and perfectly acceptable for outdoor usage. Of course, contrast ratio is infinite due to the screen being off when displaying blacks, and that leads to a display that simply pops when displaying vibrant imagery. Viewing angles are great as well, though there is some color shift at acute angles.

One of the things I immediately noticed about the OnePlus 5's display is the 'jelly effect'; something that other users also overserved when the phone launched. The basic issue here stems from how displays refresh: they do so line by line, meaning that within the refresh window, the lines at the top are updated before the lines at the bottom. This line-by-line updating cycles repeatedly.

Normally you don't notice this line-by-line updating, because either the display finishes its refresh (as in, it finishes refreshing the last line) well before the end of the refresh window - say, within 16.7ms for a 60 Hz panel - or because the way you use the display hides the issue. A great way to hide the issue on phones is to have the part of the display that updates first on the top, so that when you interact with the touchscreen, the screen updates first in the part you're more likely to be looking at: the top.

On the OnePlus 5 we have a combination of the two problems, which produces the jelly effect. Firstly, the AMOLED screen here doesn't refresh lightning-fast, so there is a perceptible delay between when the first and last line updates. Secondly, OnePlus 5 oriented the screen 'upside-down', such that the line that updates last is at the top, right in the most highly viewed section of the screen.

The end result is that when scrolling, particularly changing the scrolling direction, text and imagery appears to contract and expand in a jelly-like way. This is because during a change in scrolling direction, some parts of the display are updating ahead of others. As the top part of the OnePlus 5's display is updating slightly after the bottom part, that's where the effect is most noticeable, as the delay from finger movement to update is the longest.

Looking at the display's color performance, OnePlus is going with the usual smartphone playbook here: the display is too cold under its default calibration by approximately 1000K, and the color gamut is significantly wider than sRGB, leading to oversaturation. Colors aren't off here, which was an issue with some past OnePlus phones, but they're definitely oversaturated.

For those that require color accuracy for whatever reason, the OnePlus 5 does have an sRGB display mode, which is reasonably accurate. The screen becomes a bit too warm, with an average color temperature of 6394K, however saturation and ColorChecker performance is pulled in to under an average dE2000 value of 2.0, which is a strong result here.

The OnePlus 5 also comes with a DCI-P3 color mode, though as Android has no color management and therefore can't support the DCI-P3 color space, the mode is basically useless. Unless you have DCI-P3 images incorrectly encoded in sRGB.