realme GT Neo 3 150W (中国版) にてグローバル版原神でのフレーム補間を無理矢理有効化してみました。
root化すればグローバル版原神でも利用可能
realme GT Neo 3 150Wには、フレーム補間ができるMEMCチップが搭載されています。
ただ、残念ながら中国版では中国で配信されているバージョンのゲームしかフレーム補間の対象になっていません。
realme GT Neo 3 150Wレビュー。Dimensity 8100搭載で原神を54.6FPSで遊べる高性能・低発熱スマホ – AndroPlus
そこで、無理矢理グローバル版の原神でも使えるようにしてみました。
/data/以下のデータを編集するので、root化が必須です。
【追記】原神のフレーム補間に限っては非rootでも有効化できました。
非rootで有効化する方法
PlayストアでActivity LauncherをインストールしてGame Assistantの項目を探し、一番下にあるcom.coloros.gamespaceui.activity.GameDevelopOptionsActivityを開いてください。
画像のように提升帧率などをオンにすると、原神を開いた時に游戏插帧メニューが出ます。
「提升帧率」が90FPS化するモードで、その上に出る「游戏插帧」モードは動作しません。
この方法だと原神でのMEMCは有効にできますが、Ultra-steady framesの強制有効化はできません。
なお、最新版では塞がれています。こちらから古いバージョン (6.15など) をダウンロードできます。
root化して有効化する方法
フレーム補間を有効化するかどうかは、/data/data/com.oplus.games/shared_prefs/com.oplus.games_cloud_control.xmlに書かれているパッケージ名で決められています。
厳密には/my_product/vendor/etc/multimedia_pixelworks_game_apps.xmlでの指定も必要なのですが、グローバル版原神はそちらでは記載があるため、com.oplus.games_cloud_control.xmlの書き換えだけで有効化できます。
FX File Explorer (Settings→Developer/Rootで許可した後System (Root)
で開く) などでファイルを開き、optimise_power_game_list
、frame_insert_game_list
、increase_fps_game_list
の3つのstringのところに、,com.miHoYo.GenshinImpact
を追記してSaveしてください。
例えばcom.pwrd.zsyj.mi</string>
となっているところをcom.pwrd.zsyj.mi,com.miHoYo.GenshinImpact</string>
にするイメージです。
ちなみにMEMC以外にも、gpa_game_listにパッケージ名を追加すればUltra-steady framesを有効化できるようです(原神は追加不要)。
内部的にはOnePlusブランドで使われているGPA (General Performance Adapter) で呼び名が統一されているようです。
adb shell→suやTaskerのRunshell (root) などで下記のようなコマンドを実行しても同じことができます。パッケージ名は適当に変えてください。(MEMC関係は原神以外を追加しても有効になりません)
CONFIG="/data/data/com.oplus.games/shared_prefs/com.oplus.games_cloud_control.xml"
if ! /system/bin/grep -q umamusume "$CONFIG"; then
/system/bin/sed -i -e '/gpa_game_list/ s/<\/string>/,jp.co.cygames.umamusume,net.wargaming.wot.blitz<\/string>/' $CONFIG
/system/bin/sed -i -e '/optimise_power_game_list/ s/<\/string>/,com.miHoYo.GenshinImpact<\/string>/' $CONFIG
/system/bin/sed -i -e '/frame_insert_game_list/ s/<\/string>/,com.miHoYo.GenshinImpact<\/string>/' $CONFIG
/system/bin/sed -i -e '/increase_fps_game_list/ s/<\/string>/,com.miHoYo.GenshinImpact<\/string>/' $CONFIG
fi
その後、アプリ管理でGame Assistantを強制停止してください。
これで原神を起動すると、ゲームモードに「游戏插帧」メニューが追加されています。
なお、しばらくするとGame Assistantが設定を元に戻してしまうので、メニューが消えたらやり直してください。
「提升帧率」はフレームレートを向上するオプションで、60FPS設定時に有効化すると90FPSにしてくれます。
「优化功耗」は60FPSか90FPSの時にフレーム補間することでバッテリー消費と発熱の削減をしてくれる安定化オプションです。
どちらかしか選べず、Ultra-steady framesと併用はできません。
45FPSにフレーム補間する (45 x 2) ことで90FPSを実現するため、表示上は45FPSが最大値になります。
原神を最高画質設定で動かしてWeTest PerfDogで計測すると、平均88.8FPS (44.4FPS x 2) でした。
フレーム補間なしだと平均54.6FPS・ジャンク15.5のところ、フレーム補間するとジャンクは13.9とさらに低くなっており、高いフレームレートと相まってかなりの滑らかさです。
さらに発熱も最大37.5℃程度で、90FPS設定だというのに60FPSプレイ時とほぼ変わらない程度に抑えられています。
ただ、さらに長時間プレイすると40℃程度まで上昇し、フレーム補間が強制的に終了してしまいます。
RefreshRate: requestMemcGameRefreshRate: open=false,rate=0: votes=PRIORITY_HIGH_TEMPERATURE -> Vote{refreshRateId=2, refreshRate=60.0};PRIORITY_WINDOW_REQUEST -> Vote{refreshRateId=2, refreshRate=60.0};
05-06 17:01:56.245 1607 3439 D RefreshRate: requestMemcGameRefreshRate: open=true,rate=1: votes=PRIORITY_HIGH_TEMPERATURE -> Vote{refreshRateId=2, refreshRate=60.0};PRIORITY_MEMC -> Vote{refreshRateId=1, refreshRate=90.0};PRIORITY_WINDOW_REQUEST -> Vote{refreshRateId=2, refreshRate=60.0};
というようなログが残っていました。
かなり滑らかな表示でプレイできるのに、負荷は60FPSプレイ時と変わらないどころか若干低い程度、というのが凄いです。
なお、OnePlus Aceではグローバル版原神はフレーム補間の対象外となっています。
その代わりPUBGやKing of Gloryでは90FPSのrealme GT Neo3とは異なり、120FPSフレーム補間モードが有効になっているようです。