Game AI (Automatic Improvement)
Game Ai is a feature to provide automatic improvements when running 'game' applications or applications that are in the game list at "/proc/d8g/game_ai_list" and "/proc/d8g/game_ai_list_default". Game Ai by default limits the maximum value on big CPU / prime CPU when user isn't running application in game_ai_list, this aims to save more power usage when used daily. Game Ai are made specifically for non-init users, and also work on non-root users, game ai support per-app with json config. game ai uses the open file reading method to working.
Feature :
- Set Oprofile
- Set Cpufreq Governor
- Set Thermal sconfig
- Set Adreno Boost
- Set Cpuset Assist Top-App
- Set Uclamp Assist Top-App
- Set Dynamic Charger
- Detect usb plug unplug to set thermal
Game Ai use oprofile to set the level of performance mode
Profile mode : (oprofile)
0 = balance (def)
1 = performance (Max)
2 = game
3 = game plus
4 = battery (non boost)
GMU Boost
enable on oprofile 1-3
Load Balance
0 & 4 : Reduce latency load balance
1 - 3 : Use stock load balance
Game Mode (gm) Cpuset/Uclamp Assist Top-App
0 : cpuset 0-6 uclamp boost off
1 : cpuset 0-7 uclamp boost on
Game Ai: drop fps method (exp sm8250)
Non Mark :
- default limit cpufreq max 2.6 GHz
- oprofile 2
- On drop fps
RR = 60
-> if fps drop under 40 fps set cpufreq max to 3.2 GHz
-> if fps drop under 50 fps set cpufreq max to 2.8 GHz
RR > 60
-> if fps drop to RR-30 set cpufreq max to 3.2 GHz
-> if fps drop to RR-20 set cpufreq max to 2.8 GHz
- Non Drop fps
-> if fps not drop set cpufreq max 2.6 GHz
Mark :
- default cpufreq max 3.2 GHz
- default oprofile 1
- adreno boost 3
How to use game ai?
game ai uses json config. with the following format
Game Ai List method
--------------------------------
pkg : packageName
gm : game mode (1/0)
op : oprofile (0-4)
gov : cpu governor (schedutil , game, performance)
t : thermal (-1 - 16)
gpu : adrenoboost (0-3)
add or edit on
/proc/d8g/game_ai_list
don't edit /proc/d8g/game_ai_list_defualt
You can copy from line in this list to help
exp game app : PUBG
{"pkg": "com.tencent.ig", "gm": 1, "op": 2, "gov": "game", "t": 16, "gpu": 1}
exp non game app : whatapp
{"pkg": "com.whatapp", "gm": 0, "op": 0, "gov": "schedutil", "t": 8, "gpu": 0}
for each new list, mark the split with enter (new line)
exp :
{"pkg": "com.tencent.ig", "gm": 1, "op": 2, "gov": "game", "t": 16, "gpu": 1}
{"pkg": "com.whatapp", "gm": 0, "op": 0, "gov": "schedutil", "t": 8, "gpu": 0}
exp for shell script (.sh):
#!/bin/sh
#
dir_main=/proc/d8g
game_list="{\"pkg\": \"com.tencent.ig\", \"gm\": 1, \"op\": 2, \"gov\": \"game\", \"t\": 16, \"gpu\": 1}\n
{\"pkg\": \"com.whatapp\", \"gm\": 0, \"op\": 0, \"gov\": \"schedutil\", \"t\": 8, \"gpu\": 0}"
echo -e $game_list > $dir_main/game_ai_list
Game List
===============================
op : 0 - 3
thermal : 10 / 16
gpu boost : 0 - 3
#default (op : 2)
com.tencent.ig
com.pubg.krmobile
com.rekoo.pubgm
com.pubg.imobile
com.pubg.newstate
com.garena.game.codm
callofduty
com.gameloft.android.ANMP.GloftA
com.dts.freefireth
com.garena.game.lmjx
com.GlobalSoFunny.Sausage
com.levelinfinite.sgameGlobal
#Low (op : 0)
com.mobile.legends
com.supercell.clashofclans
#gpu focus (op : 3)
com.HoYoverse.hkrpgoversea
com.netease.mrzhna
com.xdg.and.eu.lifeafter
com.kurogame.wutheringwaves.global
com.miHoYo.GenshinImpact
com.hoyoverse.cloudgames.GenshinImpact
com.blizzard.diablo.immortal
com.carxtech.sr
com.tencent.nfsonline
com.ea.gp.nfsm
com.slsm.an.en
com.pearlabyss.blackdesertm
com.nebulajoy.act.dmcpoc
com.nebulajoy.nero.opensdk
com.newtypegames.dl2hmt
com.HoYoverse.Nap
jp.konami.pesam
#benchmark (op : 1)
skynet.cputhrottlingtest
com.primatelabs.geekbench5
com.primatelabs.geekbench6
com.antutu.ABenchMark
com.antutu.benchmark.full
com.futuremark.dmandroid.application
com.Saplin.CPDT
org.ppsspp.ppsspp
com.ppssppgold.pspemulator.ppssppgames
org.dolphinemu.dolphinemu
com.dsemu.drastic
com.emulatorpro.gba.gameboy
com.thz.nostal.gb.retro.gbc.gba.emulator
com.gba.retro2024
com.android.test.uibench
com.nostalgiaemulators.gbalite
Sosmed List
===============================
op : 0
thermal : 8
gpu boost : 0
com.whatsapp
org.telegram.messenger
tw.nekomimi.nekogram
com.radolyn.ayugram
com.thunderdog.challegram
app.nicegram
uz.unnarsx.cherrygram
com.facebook.lite
com.facebook.katana
com.facebook.orca
com.instagram.android
com.instagram.barcelona
com.instagram.lite
com.tencent.mm
jp.naver.line.android
com.twitter.android
com.ss.android.ugc.trill
com.discord
com.ime.android
com.imo.android.imoim
com.michatapp.im
com.shopee.id
us.zoom.videomeetings
app.revanced.android.youtube
app.android.youtube
com.gojek.app
com.grabtaxi.passanger