The Pixel 4 and 4 XL have already been in the hands of reviewers and customers for a while now. With the first real-word reports coming up, we were stunned to see huge discrepancies between battery usage statistics and ominous 60Hz screen refresh rate lock-ins for some people who seemingly couldn't get the 90Hz Smooth Display mode working. A recent finding shines light into the issue: The display only switches to 90Hz with a screen brightness set above 75%.
A Reddit user noticed his Pixel 4 turned off Smooth Display at this arbitrary threshold when they monitored logs via ADB. Our own Artem Russakovskii and XDA Developer's Mishaal Rahman could confirm this with their phones.
Holy crap. Google Pixel 4 changes between 60Hz and 90Hz based on screen brightness.https://t.co/J6J2SjNBEw
I tested using ADB and logcat.
If brightness < 75%, display id = 2.
If brightness >= 75%, display id = 1.
— Mishaal Rahman (@MishaalRahman) October 23, 2019
Luckily, there are workarounds. The simplest method is heading to Settings > System > Developer options and looking for a "force 90Hz" option that does just what its name implies. (If you haven't activated Developer options already, you first need to go to About phone and tap the build number five times.) You can also use Mishaal Rahman's Tasker recipe. It adds a Quick Settings tile to your notification shade that lets you quickly turn on and off the "force 90Hz" option without heading to Settings each time. It's also possible to change the 75% threshold to any other when you have root access. Remember that sticking with 90Hz for extended periods of time might reduce the already abmysal battery life, though.
Left: Display refresh rate above 75% brightness according to testufo.com. Right: Refresh rate below 75% brightness.
It's unclear why Google decided to add this complication to its ability to display 90Hz content. It might be a battery saving option, as you're not as likely to notice the difference between 90Hz and 60Hz on lower brightness levels. This theory is supported by the fact that the Pixel 4 does switch to 90Hz below the 75% display brightness threshold when it senses bright ambient light, which is when it's more likely that you'll notice the difference, too.
Still, positioning the cutoff at 75% seems harsh in this context, as phone displays often don't get that bright indoors. At least we can pinpoint the problem now and there are options to mitigate it, but it still seems like an arbitrary limitation.
Google says a fix is coming
Google has informed The Verge that an update will be landing "In the coming weeks" that will fix this issue, at least in "more brightness conditions." It isn't immediately clear if that means we'll see 90Hz at all brightness levels, or if there will be some new but lower brightness boundary for the transition, but an update is coming in some form that addresses this problem.
The full statement provided by Google is just below:
We designed Smooth Display so that users could enjoy the benefits of 90Hz for improved UI interactions and content consumption, while also preserving battery when higher refresh rates are not critical by lowering back down to 60Hz.
In some conditions or situations, however, we set the refresh rate to 60Hz. Some of these situations include: when the user turns on battery saver, certain content such as video (as it’s largely shot at 24 or 30fps), and even various brightness or ambient conditions. We constantly assess whether these parameters lead to the best overall user experience. We have previously planned updates that we’ll roll out in the coming weeks that include enabling 90hz in more brightness conditions.
An Android commit explains the limitation
XDA Developers found an Android commit that sheds a light onto the situation. The latter explains that the Pixel 4's display, like most displays, has "different gamma curves for different refresh rates" and it's difficult to guarantee the same brightness at different refresh rates. That means the default mode Google uses, where it dynamically switches between 60Hz and 90Hz depending on your screen's content and interactions, would result in flickers each time it hopped between one and the other. (If you force 90Hz on all the time, it wouldn't happen.)
The flicker would be much more noticeable if the screen brightness is low, and even more so if you're in a dark environment, as that's where your eyes are most sensitive to brightness changes. That's why the 90Hz refresh rate is only supported when the display brightness is above a certain threshold, and that limit is even higher in a darker setting.
It's a logical reason and we wonder why Google didn't give it from the get-go, instead of skating by it. Most users would much rather have a smooth experience than see a flicker on their screen each time they touched it while watching a video.
Smooth Display works at more brightness levels in latest update
As of the November 2019 update, this behavior has been changed, as Google promised. The Pixel 4 now appears to switch between 60/90Hz at around 45% brightness in our testing.
The line is somewhere between these two settings.
There could be other factors that might tweak that behavior in some circumstances, but the hard line between the two modes has been adjusted down substantially, expanding the circumstances in which you'll see a 90Hz refresh rate. Note that even so, this is a different approach on the smaller Pixel 4 than other OEMs like OnePlus provide, where you get 90Hz at all brightness levels.
Pixel 4 and 4 XL behave differently
Turns out, the smaller Pixel 4 doesn't behave the same as the larger Pixel 4 XL. In details dug up by XDA Developer's Mishaal Rahman, although the smaller model switches from 90 to 60Hz at precisely 42%, the larger Pixel 4 XL is able to run at a constant 90Hz down to minimum brightness.