34736384 / genshin-fps-unlock

unlocks the 60 fps cap
MIT License
2.7k stars 211 forks source link

进副本帧数就掉回60 #415

Closed LiangFengYA closed 3 months ago

LiangFengYA commented 3 months ago

我是B服的,最近这两天出现的问题,只要进副本或者尘歌壶这种需要加载的独立场景就会掉回60,我还去官服试了一下没什么问题,重装游戏也没有用,而且掉回60帧要退出游戏重新设置帧数,比如刚开始设置的165帧,掉回60帧就得退出游戏设置成另一个值,我在看有人说重装系统就可以了,但重装系统太麻烦了,也不知道是真的假的。

Lightczx commented 3 months ago

提供一个思路,找到特征后通过创建线程来改帧数,帧数通过线程参数传

上面发的测试包就是这么做的,胡桃的测试版现在也是这么做的,这是目前侵入性最小的方案了 不过帧数是用 MemoryMappedFile 传的

winTEuser commented 3 months ago

提供一个思路,找到特征后通过创建线程来改帧数,帧数通过线程参数传

上面发的测试包就是这么做的,胡桃的测试版现在也是这么做的,这是目前侵入性最小的方案了

确实

winTEuser commented 3 months ago

提供一个思路,找到特征后通过创建线程来改帧数,帧数通过线程参数传

上面发的测试包就是这么做的,胡桃的测试版现在也是这么做的,这是目前侵入性最小的方案了 不过帧数是用 MemoryMappedFile 传的

不是createremotethread吗 MemoryMappedFile不太熟,一般直接给到线程参数就能用最后这个参数是到rcx

winTEuser commented 3 months ago

如果MemoryMappedFile底层还是writeprocessmem,就可能被驱动干掉

Lightczx commented 3 months ago

提供一个思路,找到特征后通过创建线程来改帧数,帧数通过线程参数传

上面发的测试包就是这么做的,胡桃的测试版现在也是这么做的,这是目前侵入性最小的方案了 不过帧数是用 MemoryMappedFile 传的

不是createremotethread吗 MemoryMappedFile不太熟,一般直接给到线程参数就能用最后这个参数是到rcx

现在用的windows hook载入的dll,不是createremotethread载入,使用file mapping可以达到双工通信的目的,就可以动态调整帧率上限了

Lightczx commented 3 months ago

如果MemoryMappedFile底层还是writeprocessmem,就可能被驱动干掉

直接在ys进程内修改目标值

Lightczx commented 3 months ago

虽然也有可能被干,但是至少目前没有

winTEuser commented 3 months ago

虽然也有可能被干,但是至少目前没有

我fork了一份稍微改了下,不注入任何东西来应用帧率,除非mhy禁用远程线程创建,主要是这个MemoryMappedFile感觉不怎么方便

34736384 commented 3 months ago

我fork了一份稍微改了下,不注入任何东西来应用帧率,除非mhy禁用远程线程创建,主要是这个MemoryMappedFile感觉不怎么方便

这跟wpm没区别了,驱动降权后没有启动线程的权限

winTEuser commented 3 months ago

我fork了一份稍微改了下,不注入任何东西来应用帧率,除非mhy禁用远程线程创建,主要是这个MemoryMappedFile感觉不怎么方便

这跟wpm没区别了,驱动降权后没有启动线程的权限

那就没得玩了,只能靠注入

MMG241315 commented 3 months ago

net8.0-windows.zip今天用这个出现失效的情况,这个情况在重新启动游戏后恢复正常

Silver7758 commented 3 months ago

net8.0-windows.zip 测测,没问题的话就发了

有问题。 解帧正常,但是10分钟内会卡死未响应。可能是反作弊/某些组件卡了?

34736384 commented 3 months ago

net8.0-windows.zip 测测,没问题的话就发了

有问题。

解帧正常,但是10分钟内会卡死未响应。可能是反作弊/某些组件卡了?

能把帖子看完不

Silver7758 commented 3 months ago

@34736384 有话好好说不行?你指 https://github.com/34736384/genshin-fps-unlock/issues/415#issuecomment-2184308609 吗?我试一下

Silver7758 commented 3 months ago

net8.0-windows.zip 卡死崩溃的测测这个

启动10秒左右报错: image 登陆界面有解帧,但进游戏变60帧,删除fps_config.json重置配置文件也是同样问题。

和这位朋友一样:https://github.com/34736384/genshin-fps-unlock/issues/415#issuecomment-2188779026

刚进游戏没几秒就提示 Failed to start the unlocker

Suzuku commented 3 months ago

net8.0-windows.zip 测测,没问题的话就发了

用了两天无问题

winTEuser commented 3 months ago

我fork了一份稍微改了下,不注入任何东西来应用帧率,除非mhy禁用远程线程创建,主要是这个MemoryMappedFile感觉不怎么方便

这跟wpm没区别了,驱动降权后没有启动线程的权限

我注入一段shellcode,让shellcode读解锁器里的帧率(

Silver7758 commented 3 months ago

用了两天无问题

@Suzuku 有遇到卡死的情况吗?我这边10分钟左右会卡死

aaahai00 commented 3 months ago

用了好久都没什么问题,也就有天一小时无响应两次(重启好了),我用的还是那个有人反馈崩溃之前的那个版本

Silver7758 commented 3 months ago

@aaahai00 崩溃指的就是无响应(解帧是没问题的),10分钟左右就会无响应。修复无响应的版本反而没法解帧,启动就报错。

aaahai00 commented 3 months ago

@aaahai00 崩溃指的就是无响应(解帧是没问题的),10分钟左右就会无响应。修复无响应的版本反而没法解帧,启动就报错。

那个修复的版本我也用过,没有什么问题,我现在一直用那个未修复的版本 我估摸着有可能是因为挂了一大堆后台搞得不太稳定

Suzuku commented 3 months ago

用了两天无问题

@Suzuku 有遇到卡死的情况吗?我这边10分钟左右会卡死

未遇到,我是I5-12490f+3060ti,放的固态盘,32G内存,win11的机器

MMG241315 commented 3 months ago

{A2955929-2990-41fe-8A90-F6A6127CFA44} 遇到了一次这个,电脑重启后恢复正常

chashao33 commented 3 months ago

win11专业版最新,i5 10400f RTX4060ti 16G+1Tssd ,一样的问题

endcharlotte commented 3 months ago

https://github.com/xiaonian233/genshin-fps-unlock 这个可以用,进入副本不会锁60(测试时间2024-6-30)

Silver7758 commented 3 months ago

https://github.com/xiaonian233/genshin-fps-unlock 这个可以用,进入副本不会锁60(测试时间2024-6-30)

确实没有问题了,启动报错、解帧失效、卡死等问题都不存在。听说会导致可莉诡雷bug,不知道有没有人遇到。

34736384 commented 3 months ago

已发布 https://github.com/34736384/genshin-fps-unlock/releases/tag/v3.2.0