水たまりは希望を写している

OxygenOS 12 で強制的にリフレッシュレートを 120 Hz にする

OxygenOS 11 では、Global system settings の oneplus_screen_refresh_rate0 にすれば、画面のリフレッシュレートを 120 Hz に固定することができたが、OxygenOS 12 からはその設定項目がなくなってしまった

OxygenOS 12 の初期ビルドである C.36 では、Android 12 の仕様と同じく System settings の min_refresh_rate120.0 に変更することで、強制的にリフレッシュレートを 120 Hz に変更できていたが、ビルド番号 C.39 ではそれが効かなくなってしまった

ひたすらいろんな値に変えてみたら、たまたま見つけてしまった

Galaxy では peak_refresh_rate0 にすることで強制 120 Hz ができるらしいので、とにかくいろんな値に変えてなんとかならないかやってみた。結果、 1 という値に設定することで、強制 120 Hz が実現できることがわかった。というか、1 から 59.9 の間であればよい。

SetEdit でこの設定値を変えることができる。System table から peak_refresh_rate を探し、Edit Value をタップして 120.0001 から 1 に変更する。

これで YouTube や Google マップ (マップ部除く)、キーボード表示が 120 Hz で駆動するようになる。ただ、画面にタッチせず 4 秒経つと 60 Hz に落ちてしまうのは無効化できないようだ (min_refresh_rate は効かない)。

再起動で再設定の必要あり

この設定は、再起動をすると 120.0001 に戻ってしまう。そのため、再度アプリを使用して設定を変更し直す必要がある。

今のところこれを回避できる手段を見つけられていないが、パソコン不要のため面倒ではないと思う。

ADB や Tasker でもできるはずだが……

この設定、単純に System settings の値を変更しているだけなので、Android Debug Brige (ADB) や Tasker でも設定変更できるはずなんだけど、OxygenOS 12 C.39 ではどちらも権限が無いと怒られてしまう。C.36 の時は出来てた気がするんだけどなぁ……。

Tasker でも設定が変更できると、あらかじめこの設定を行うシェルコマンドのタスクを作成しておいて、端末の再起動をトリガーに再設定できるから便利なんだけどなぁ。