OnePlus got particularly defensive at the recent 10 Pro global launch event, slinging salt back at the common claim that OxygenOS was nothing more than ColorOS with a skin. Unfortunately for OnePlus, a change inherited from its ColorOS software base has broken prior workarounds for the company's allowlist-based refresh rate scaling.

The primary issue — that OnePlus only allows apps on a specific allowlist to hit the maximum refresh rates on OxygenOS — dates back to at least OxygenOS 11 and isn't itself new. Most popular applications are even unaffected by this behavior, though apps like YouTube and TikTok run at a flat 60Hz, and you might notice scrolling in them feels less fluid. However, someone on Reddit recently observed that the popular Sync for Reddit client felt "sluggish" when videos were being displayed. Further testing indicated that when video content was displayed (for example, auto-playing in the feed), the overall framerate on OnePlus devices running recent versions of OxygenOS drops to 60Hz, even while scrolling, so long as a video is playing.

The refresh rate (visible in the top left of each image) in Sync for Reddit dropping when video content appears in the feed, causing scrolling to stutter.

Before OxygenOS 12 landed (with its ColorOS-based changes), The AutoHz app was able to adjust this behavior if you wanted to force a specific refresh rate either across the board or on a per-app basis. Unfortunately, that solution doesn't work anymore. The developer behind the app has confirmed to us that, because of specific changes present in ColorOS (and now OxygenOS as a result), the commands the app previously used no longer work. However, we were also told that a workaround may have been discovered, and AutoHz may update to support OxygenOS 12 in the future.

Another random (only slightly sketchy-looking) app was found that is able to modify a pair of system settings and partly circumvent the limitation (modifying "Settings.System.min_fresh_rate" and "Settings.System.peak_refresh_rate" settings), but in our testing, this change doesn't seem to work in many circumstances, with videos still breaking the 120Hz behavior regardless of the system minimum refresh rate setting. Either OnePlus's software is continuing to ignore those other settings, or the presence of video content simply overrides it, unlike in other Android skins.

Testing with high refresh rate OnePlus devices (going back to OxygenOS 10 and the classic OnePlus 7 Pro) indicates this behavior has been adjusted over time — my 7 Pro still runs YouTube at its full 90Hz, while the OnePlus 8 series and later running more recent software builds have other limits applied. And, starting with OxygenOS 12, these limits can no longer be disabled.

OnePlus seems pretty upset about claims that OxygenOS is just ColorOS with a skin, but issues like these make the lineage clear.

This might sound like a non-sequitur, but last year OnePlus was caught throttling performance for some of its phones on a per-app basis, and this year with the OnePlus 10 Pro, the company was found to be using a more blanket throttle on performance. While last year's news was met with relative outrage, the recent response to similar behavior has been sedate, at least partly for one important reason: User expectations. Treating different apps differently in an arbitrary way is not transparent to the user and results in confusion. On the other hand, applying the same restrictions across the board is something that can be anticipated and understood. In this instance, when it comes to refresh rates, OnePlus's actions again result in confusing behavior.

Testing on a Galaxy S22 and Pixel 6 Pro, OnePlus's competitors don't resort to similar behavior, and, outside from simply not caring when it re-based its software on ColorOS, it's not clear why OnePlus broke the prior workaround or why it has additional overrides that other Android skins don't when video content is being played. If there are big battery benefits to preventing a full refresh rate in a scrolling feed when video content is present, it's a benefit both Samsung and Google are ignoring.

We've reached out to OnePlus to see if the company plans to change this behavior, as well as to share a complete list of affected apps and circumstances where customers can expect not to see their device's full refresh rate under OxygenOS 12. While the company told us it was looking into the subject, it could not provide us with any information at the current time, though we may be able to update with more details soon.

When this issue could be circumvented on a per-app basis by a third-party app under OxygenOS 11, it wasn't as big of a deal. Sure, it was a bad and annoying behavior that other devices like the Pixel 6 series don't suffer, but the fix was relatively simple (if a little involved and required ADB). As far as we can tell, there's no reliable or consistent way to fix it at all right now.