hexstr / UnityFPSUnlocker

为unity-il2cpp提供在手机上设置FPS的模块
MIT License
356 stars 44 forks source link

UnityFPSUnlocker

README_EN README_JP

安装需求

附加需求

使用

若你的手机没有开启Zygisk,请先开启Zygisk后重启。当上述需求准备完毕后即可刷入UnityFPSUnlocker模块。在重启之前,先下载TargetList.json放入/data/local/tmp/TargetList.json,并修改你的配置。
模块会通过判断游戏数据目录是否存在/sdcard/Android/data/{包名}/files/il2cpp来自动加载。

{
  "global": {
    "delay": 10,
    "mod_opcode": true,
    "fps": 90,
    "scale": 1.0
  },
  "custom": {
    "com.random.package.name.a": {
      "fps": 60
    },
    "com.random.package.name.b": {
      "mod_opcode": false
    },
    "com.random.package.name.c": {
      "delay": 5
    }
  }
}

其中,global节点中的配置为:

然后,custom节点中的配置会覆盖global中的配置单独生效:

TargetList.json修改后可以搜索json 格式校验校验是否完整。修改后立即生效(模块版本>=1.8)。
可以在终端模拟器输入logcat -s UnityFPSUnlocker查看输入日志。

分辨率

最近发现BlueArchive最高分辨率只有1080P,在模拟器上有肉眼可见的锯齿,而且在16:10的比例下甚至像素点比16:9更少

2560x1600->1822x1138

对比

2560x1440->1920x1080

所以加上调整分辨率的功能,对比图如下

https://imgsli.com/MjI3NDQ2/0/1

https://imgsli.com/MjI3NDQ2/2/3

但是设置的时机需要尽可能早,也就是delay尽可能短,否则需要更改绘图选项中的任意一项后生效(比如开关一次抗锯齿

如果你不需要超分辨率,可以修改/sdcard/Android/data/com.nexon.bluearchive/files/DeviceOption,把Resolution修改为大于3即可,这样会走default分支(在函数GraphicsManager.CoSetScreenResolution()中)