hexstr / UnityFPSUnlocker

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

[Bug Report]部分游戏帧率调整后游戏内界面切换以后失效 #38

Closed kcn3388 closed 1 year ago

kcn3388 commented 1 year ago

仅模拟器复现,手机端正常

模拟器版本:雷电模拟器9 9.0.36 面具版本:Magisk Delta 25.1

复现: 以公主连结为例 在第一次调整帧率生效后:

第一次生效图例 ![image](https://user-images.githubusercontent.com/25716090/217833012-78f34745-40ee-448e-998b-e1f9a35c2985.png)

切换界面后:

失效图例 ![image](https://user-images.githubusercontent.com/25716090/217833257-6070ff24-65ff-4fb8-a439-29b2efb23890.png)

log

02-09 21:58:20.314 13548 13556 D UnityFPSUnlocker: [UnityFPSUnlocker][x86] Starting...
02-09 21:58:20.314 13548 13556 D UnityFPSUnlocker: delay: 10 | framerate: 120 | modify_opcode: 1
02-09 21:58:30.314 13548 13556 D UnityFPSUnlocker: ***** begin *****
02-09 21:58:30.315 13548 13556 D UnityFPSUnlocker: set_targetFrameRate: 120
02-09 21:58:30.315 13548 13556 D UnityFPSUnlocker: ***** finished *****
hexstr commented 1 year ago

你确定这不是没跑满?只要调用api之后引擎就不会再修改帧率了

kcn3388 commented 1 year ago

你确定这不是没跑满?只要调用api之后引擎就不会再修改帧率了

确认不是,只要一切换界面就掉回30帧

hexstr commented 1 year ago

@kcn3388 哦草,我知道哪里出问题了,这游戏居然是x86架构,我写的mod_opcode只有arm&arm64

hexstr commented 1 year ago

@kcn3388 重暂时应该不会添加x86的mod_opcode,重装游戏的arm64版本吧 adb install -r --abi arm64-v8a 游戏本体.apk

kcn3388 commented 1 year ago

@kcn3388 重暂时应该不会添加x86的mod_opcode,重装游戏的arm64版本吧 adb install -r --abi arm64-v8a 游戏本体.apk

x86原生支持是好文明(doge) 知道了

hexstr commented 1 year ago

@kcn3388 可变指令长度是坏文明,我现在都没搞懂x86的栈变化规律

kcn3388 commented 1 year ago

@kcn3388 可变指令长度是坏文明,我现在都没搞懂x86的栈变化规律

然后发现如果用arm的话不需要模块就能120了(趴)

建议严查雷电是不是偷代码了(大雾)

hexstr commented 1 year ago

草,之前写烧钱的mod已经在x86实现过这个功能但是忘记合并代码了 Snipaste_2023-02-11_17-58-19