The OnePlus 10 Pro has a major scrolling problem, and it makes the phone borderline unusable.
To put it simply, the phone exhibits massive stutters and delays when scrolling in certain apps. My understanding is that this is brought about by the way OnePlus has configured the dynamic refresh rate system on the display.
Before going any further, here is a demonstration of how this works. First, let me try scrolling through an average Instagram timeline, which over the course of time has come to be populated with more videos than photos. The significance of this will be explained later.
Now here’s scrolling in Flamingo, a third-party Twitter app. While Flamingo is no longer sold on the Play Store, it continues to be updated.
The scrolling in the two apps is different but noteworthy either way. The important thing to notice, however, is the little refresh rate counter in the top left corner of the phone’s screen.
To understand what is happening, you have to know how the display is configured to work. The maximum 120Hz refresh rate isn’t permanent and the display can clock down to several other values depending upon what is happening on the screen. Some of the values I noted include 90Hz, 60Hz, 30Hz, 10Hz, 5Hz, and even 1Hz. The reason to ramp down the refresh rate is simply to save some power.
Compared to previous OnePlus phones, the OnePlus 10 Pro is extremely aggressive when it comes to reducing its refresh rate. Unfortunately, it also tends to do this even when it’s not supposed to.
One of the examples we gave in our review is when you have Apple Music open and the lyrics are scrolling automatically on the screen. You aren’t manually interacting with the screen so it never goes up to the full 120Hz refresh rate. However, because the phone ramps down to an aggressive 30Hz, the lyrics auto-scrolling look noticeably choppy. The phone does seem somewhat aware of the motion on the screen and can go up to 60Hz as the text scrolls up but it doesn’t do this every time and even if it does, 60Hz still looks notably worse than 120Hz.
However, the worse offenders are apps you actively interact with. Instagram is perhaps the best example of this; the app has static images and video elements. The software is designed to ramp down the refresh rate when it detects a video on screen to either 30Hz or 60Hz depending on the video (OnePlus is unaware of 24/48fps and 25/50fps video, but that is a discussion for another day).
Now every time you scroll through your timeline and a video appears, the display instantly drops down to 60Hz or even 30Hz in a knee-jerk reaction. This happens while you are still actively interacting with the device, which makes the entire scrolling experience comically bad.
The 60fps video above should give you some idea of that but it can’t quite capture what it feels like to be whiplashed between 120Hz, 60Hz, and even 30Hz back and forth within one single scroll of your finger. And it’s the switching that causes the most problem; while 60Hz by itself isn’t ideal, a consistent 60Hz is perfectly usable. But being made to ping pong between 60Hz and 120Hz as you scroll feels truly terrible and is just not usable.
The example with Flamingo is particularly nasty. Here, there are no video elements on screen. There are videos, but they aren’t set to autoplay. However, the phone demonstrates a strange rubber band effect to scrolling, where it just snaps back and forth with a delayed response that is hard to explain. This is so bad you can see it even in a 30fps video. The screen is in such a hurry to drop down to 1Hz that it forgets the user is still scrolling and also can’t seem to ramp back up fast enough.
While Instagram and Flamingo are two of the worst offenders I’ve come across, the scrolling is plenty bad even in other apps. The display will just randomly stick itself in 60Hz mode for extended periods of time while scrolling through apps, only to correct itself after some more scrolling. Often it’s hard to tell what triggered the display to ramp down its refresh rate mid-use and it just seems to have a mind of its own.
I won’t belabor the point further as the two videos above are everything you need to see. The issue is that the phone has had this problem since we first got it prior to its launch, and the problem has persisted through two subsequent software updates (the phone is currently on A.13). The second update actually made it worse, especially in Flamingo, which was mostly usable before. As is often the case, we had brought up the issue with OnePlus in the past, not to mention included it in our day 1 review.
This is an expensive phone and we expect a lot better. An issue like this wouldn’t be acceptable even on a budget device so there’s no reason why should continue to ignore it on a flagship device.
At this point, all we can do is issue a PSA and recommend not buying the phone until this issue is fixed. The purpose of this is to ensure the company takes notice of it and works on a fix. We will provide an update when that happens. Until then, caveat emptor.