POCO F4 GTの性能を調整、原神を平均54fpsで遊べる端末へと昇華させる

Android

2週間弱掛かりましたが、ようやくPOCO F4 GTの調整が一段落ついたので記事にまとめます。

前提

root権限やモジュールの導入にあたりMagisk、またシステムイメージを書き換えるのでブートローダーアンロックやadb実行環境が前提です。

”ちょっと手を加えて改善”は無理。SoCの動作にも手を加えるので最悪、端末が逝く可能性も大です。

カスタムROM・GSIの選定

GSI焼きで四苦八苦

とりあえずricedroid(GSI)を焼き、最適化していない状態でSnapdragon 8 Gen 1の実力や動作を確認するところからスタート。

結果として、GSIでもwaltガバナーかつ動作クロックの制限はSD888(Mi 11i)のように掛けられてはいなかったのですが…効率コアのクロックが1.07GHz前後までしか伸びず、制御もやはりガバガバでCPU性能がSD870以下の状態に。

この状態でも一応、原神は平均40fpsで動作していましたが…GPUに対しCPUがボトルネックになりAdreno 730を活かせない結果に。

数種類のGSIを試し、焼けるけど動かない・動くけど性能は振るわない、後述するモジュール導入でも改善できなかったので仕方なくGSIでの模索は諦めました。

振るわないだけで、GSIでの動作は普通に使えてゲーム性能を求めなければGSI焼き機にはなります。

一応、私の方で動作確認できたGSIを表にしておきます。

動作は正常起動しない/焼けなかった
DerpFest(13)
ArrowOS(13)
LineageOS(19.1)
riceDroidOSS(13)
Evolution-X(12.1)
Project Elixir(3.5)
AOSP
Pixel E+(13.0)
crDroid(8.x)
crDroid(9.2)

Android 12ベースの奴は焼けても何故かブートせず。もし焼くならArrowOSかriceDroidをおすすめしときます。

MIUI(euROM)に出戻り

ドライバー周りだったり、SoCのクロック制御という面ではやはり端末固有で最適化されたROMにGSIでは劣るのでPOCO F4 GT/Redmi K50G(ingres)向けのカスタムROMを焼くことに。

まぁ…POCO F4 GT購入前からカスタムROMが、MIUIベースのeuROMかEliteROMしか無いのは知っていたのでMIUIに出戻りみたいなものです。

ポップアップトリガー等の固有ギミック or 世界的に人気が無く売れてない or Snapdragon 8 Gen 1世代はそもそもROMが少ない…のどれなのか、はたまた全部なのかは知りませんが…実質的にPOCO F4 GTのカスタムROMは現状euROM一択です。

TWRPからadb sideloadで中国版MIUI 14ベースのeuROMをぶちこみました。

やはりMIUIベースということでSoCの制御やら諸々は正常で、しっかりSnapdragon 8 Gen 1らしい動作に。

euROMだと中国版MIUIベースのおかげか、グローバル版MIUIで発生していたゲーム中の暗転や音声ノイズといった現象も発生しなくなりました。ドライバー周りの安定性は流石中国版ベース。

ROM自体はeuROMで決まりです。実用性能を出来るだけ改善しMIUI 14の計測結果、スメールでの平均46.6fpsを超える動作+発熱を40℃以下に抑える方向の調整に決めました。

ワットパフォーマンスはSD8 Gen 1がSamsung製である以上、性能を落とす以外で改善の余地は無く、MIUIの最適化以上の電力効率は無理です。その場合はフレームレートが犠牲になってしまうので…。

動作の調整

Magiskモジュールをぶちこむ

MIUIのクロック管理はマシとはいえ、比較対象がGSIであり、過去にずさんなクロック制御で痛い目に遭った&ベンチブースト疑惑があるので任せられません。特にゲームターボは控えめに言ってゴミなので。

たまたま色々ググっていたときに、とある方の有益なnoteに「FDE.AI-docs」という良さげなモジュールがあったのでそれを入れることに。

FDE.AI-docsは端的に言えばAIを用いたAndroid向けのオールインワンオプティマイザで、OSやカーネルに干渉するレベルの代物。

設定は自動+拡張モード or パフォーマンス、スロットリングの無効化はMIUIだとあべこべというか逆に制限が掛かるっぽいのでOFF。

充電を停止するレベルの設定や、自動+拡張モードで有効なバックグラウンドアプリの自動停止機能もあるので状況に応じて設定。特に充電停止機能は120W充電のPOCO F4 GTと好相性。

また、プラシーボ効果なのは否めませんが…最大75%の性能増加と25%の省電力化を目指すモジュール「GPU Turbo Boost」も導入。今回の改善はほぼFDE.AI-docsのおかげですが…あるだけマシ程度で入れてます。

KonabessでAdreno 730を低電圧化&ダウンクロック

Mi 11iで遭遇した低クロック状態のSnapdragon 888と865の関係性を考えると、仮にSamsung 4nmが”なんちゃって”だったとしても、Adreno 730で5/7nmのAdreno 660/650の性能を出力する場合、腐っても微細化されて”は”いるのでGPU単体の発熱と消費電力は少なくて済むはずです。

早い話、定格だとSamsung 4nm”で”出力するには喝入れされたGPU性能”も”原因となり発熱しやすい。現状、定格のAdreno 730を負荷99%で使うようなコンテンツはほぼ存在せず、あるとしたら現行3Dゲームの解像度をrootツールなどで弄った場合のみ。

なのでKonabessでAdreno 730のダウンクロックと低電圧化を行い、SoC全体としての発熱を減らすことでCPU側のクロック・性能維持に回す方向に調整します。

Snapdragon 8 Gen 1のGPU調整に関してはググれば既に情報があり、今回はこの方の周波数テーブルを参考に。

734~818MHzを削除し、最大クロック上限を640MHzかつ動作電圧のレベルをSVS-L1に設定。

220~599MHzも低電圧化を行い、動作負荷に応じてFDE.AI-docs側に最適なクロックを投げてもらう形に。

GPU周波数電圧
599~640MHzSVS-L1
545MHzSVS-L0
492MHzSVS
421MHzLow-SVS-L1
220~350MHzMIN-SVS

Xiaomi&Google系ブロートウェアの削除

euROMなので中国版MIUIのブロートウェアは大半が削除され、システム広告も無効化されておりMIUI比で動作はやや軽量化されてます。

とはいえ、完全ではなくMiビデオやらSIMサービス等のガラクタは残されており、Google系の無駄なアプリもそのままです。

FDE.AI-docsが必要に応じてバックグラウンドアプリを停止させますが、無駄は極力省きたいのでXiaomi ADB/Fastboot ToolsとADB App Controlを使い、euROMからブロートウェアの削除を行いました。

Xiaomi service FrameworkやJoyose等の一部はアンイストールすると不具合が生じる代物なので、仕方なく残しています。

M.2 SSD向けヒートシンクの貼り付け

最後のダメ押しに、AmazonでM.2 SSD向けの純銅ヒートシンク(0.5mm)とPOCO F4 GT用ノーブランド品の黒いケースを買いました。

本当は0.5×50×100mmのアルミ板+0.5mm厚の熱伝導シートを、背面に2箇所カットのあるケースで挟む予定でしたが…全部用意すると1500円を超えるため、POCO F4 GTを安く買ったのに金を掛けるのは馬鹿馬鹿しいのでやめました。

海外の分解動画を拝見する限り、フラッシュライト横の中央線から右側にSnapdragon 8 Gen 1があるのでその上に貼り付け。

役割的には一時期話題になった10円玉ヒートシンク的なのに近いですが、あれとは違い間に隙間を埋め熱を伝える熱伝導シートがあり、面積的にも大体3枚弱といった所なのでただ10円を置いたり100均のグラファイトシート貼るよりはマシだと思います。

一応、触れておくとSoCを冷却する目的では付けてないです。ノートPCや小型PCのM.2 SSDと同じ感じで、熱源から受熱してスロットリングを抑制・到達時間の延長になれば良いので冷却効果自体は期待してません。

ダウンクロック+低電圧化とFDE.AI-docsでのクロック制御により爆熱化はしませんが、性能維持では温度上昇が緩やかな上がり幅かつ放熱面積は少しでもある方が良いので。

0.5mmのペラい薄型ヒートシンクなので普段用にケースで挟んでも違和感なく使えます。丁度フラッシュライトの部分に隙間が出来て完全に背面が密閉された状態にはなってない模様。

0.5mmなので全く期待してませんでしたが、流石に熱伝導シート+純銅で腐ってもM.2 SSD向けに出ているのでそれなりにSoCからの熱を吸ってくれてます。ガラスの背面より明らかに650円の方が触ると熱く感じます。

ただ熱を吸収してくれる代わりにヒートシンクが加熱されて銅臭いです。

あと銅は熱伝導性は優秀ですが、自己放熱ではアルミに劣るので似たようにケースに挟んで受熱面の拡張に使用する場合、アルミ板の方が適していると思います。

ベンチマークテスト

調整後のPOCO F4 GTで軽くベンチマークテストします。比較としてMIUI Global 14.0.1.0でのレビュー時の計測データを用います。

AnTuTu Benchmark V9

AnTuTu Benchmark V9.4.8を3回連続実行時、最大スコア938655、最低スコア933757、平均スコア936615でした。

バッテリー消費量は3回全て1%、温度上昇は最大3.6℃で、計測時の最大バッテリー温度は35.9℃でした。

調整前調整後
スコア(最低)931730933757
消費量(最大)7%1%
温度上昇(最大)9.9℃3.6℃
バッテリー温度(最大)42.1℃35.9℃

安定してスコア93万弱を維持出来ており発熱も勿論低下、Antutu程度では4℃以下の上昇にまで改善。最大で42.1℃だった調整前から6.2℃も下がりました。消費量に関しては半信半疑です。

CPU Throttling Test

CPU Throttling Testを最大負荷の100スレッド、レビュー時の15分から性能向上を確認するため倍の30分間実行。

調整前はピーク性能からスロットリング状態で75%でしたが、調整後は81%に改善。発熱時かつ倍の時間負荷を掛けてもSnapdragon 8 Gen 1のCPU性能を80%以上維持可能になりました。

調整前調整後
Max318968371016
Avg280053329462
Min223915295328
ピーク比の性能75%81%
CPU内部温度54℃53℃

CPUクロックも調整前は最大2.84GHzでしたが、調整により公称値である約3GHzまでしっかり周波数が出ています。

そのおかげでピーク性能も52000GIPS伸びています。また倍の時間負荷を掛けたにも関わらずCPU温度は上がるどころか1℃低下。

FDE.AI-docsが使用率・負荷状況を学習し、MIUIよりも最適なCPU制御ができているおかげです。

3DMark

本来であればStress Testを計測したかったのですが…何故か1ループでベンチマークが終了してしまうので測定できず。スコアだけ出しておきます。

調整後は大体87%弱の性能に収まりました。元々Snapdragon 8 Gen 1(Adreno 730)にしては低めの結果だったので、大幅に低下という訳ではないです。

調整前調整後
Wild Life83467301
Wild Life Extreme21341860

原神のパフォーマンスを計測

レビュー時の結果と比較するため、スメール(千尋の砂漠)にて最高画質60fps(720p)で15分弱プレイし、TakoStats-FPS&Perf overlayで平均fpsを計測しました。

scrsndcpyとMIUIはあまり相性が良くなく、レビュー時は盛大に音声周りでやらかしたので珍しく直取りです

15分弱の計測で、平均54fps/平均フレーム電力181mW/バッテリー最大温度36.4℃でした。

原神(Genshin Impact):Ver 3.4@スメール
計測結果調整前調整後
フレームレート(平均)46.6fps54fps
フレーム消費電力(平均)148.7mW181mW
バッテリー温度(最大)35℃36.4℃

動作に関しては大台の55fpsに迫る結果にまで改善し、FDE.AI-docsによるクロック制御の効果が反映され、CPU Throttling Testで得られたようにCPU側の性能維持に振った結果です。

POCO F4 GTがアピールしていた”ゲーミング”としても文句はない結果だと思います。最初から原神で平均50fps以上出せてバッテリー温度40℃以下なら世間的な評価も違ったと思うんですけどね…。

一方でMIUI 14による最適化を無視した状態なのでワットパフォーマンスは悪化し、フレームあたりの平均消費電力は32mWも増加。フレームレート(性能)が伸びた分で発熱量もMIUI比では増えてます…。

高性能コア3基は殆ど2GHz弱で動作し、追加でプライムコアのCortex-X2が高クロックかつ高頻度で稼働しているため、Adreno 730のダウンクロックなどで低電力化して減った分、逆に性能の伸びたCPU側が消費したのだと思います。FDE.AI-docsが効率コアより(コアの)火力が必要と判断した結果なのでそういうもんなんでしょう。

高性能コアをあまり高クロックでは稼働させなかったMIUI制御より、フレームレートは明らかに向上してますから。あと一応、動作負荷の軽いモンドでも計測してみると平均57fpsでした。

私的にはモンドの動作は正直どうでも良いです。負荷が軽いのでフレームレートも出やすく計測するだけ無駄。

未だに草原で走り回ってる旅人は新規勢以外ほぼいません。

とはいえ、調整前は平均50.1fpsだったので…こちらもフレームレートはかなり改善しました。案の定、負荷が軽いので消費電力もフレームあたり平均140mWと少ないです。

あとがき

実はまだ伸びしろがあり、今回は見送ったメモリ性能改善モジュール「Max LPDDR5 BUS & L3 Cache」の導入。

そして今後、MIUIより軽量かつ余計なタスクや動作管理のないAOSPベースで、POCO F4 GT/Redmi K50G(ingres)向けに最適化されたカスタムROMが出てくれば、もう少しゲーム性能や発熱も改善可能なはずです。

ただ…MTK機とはいえPOCO F3 GT/Redmi K40Gでは、ingresと同じカスタムROM皆無な状況だったのでROMに関しては望み薄です。EliteROMはできれば使いたくありません…。

GSIでそれを実現するつもりでしたが、FDE.AI-docsを使用しても勝手にクロックが低下するCPU側がSD870以下の性能でしか動作せず、GPUドライバーも適した物ではないため”箱出し即ポンのMIUI 14”を超えることはできず。

何やかんやでMIUIに出戻りしてゴニョゴニョすることで、とりあえずPOCO F4 GTで原神が結構使い物になる平均50fps以上の動作まで改善することができました。

普通に考えてSnapdragon 8+ Gen 1かGen 2機を買った方が良いのは当然ですが、POCO F4 GT及びファンレスのSnapdragon 8 Gen 1機にしては悪くない結果を出せたと思います。

ここまでしないと50fps以上出ないのか…とも思いつつ、調整すれば改善の余地ありとは感じたもののやはり手放しにおすすめできる端末ではないし、コスト(手間)パフォーマンス(性能)は悪いと思ってます。

検索上位のレビューではゲーム特化で快適だとかフラッグシップキラーだとか言われてますが…ね。