
不需要长篇大论解释前因后果直接说结论这个解锁工具我高强度用了小半年从3.0版本一直跟到现在的版本中间踩过不少坑也研究过它的实现原理这里把能说的、能复现的、值得注意的都整理出来给想折腾的朋友一份可以直接照着操作的手册。如果你只是一个偶尔上线做做日常的玩家那我建议你看完风险说明部分再决定要不要继续。1. 原神锁60帧这件事问题到底出在哪1.1 限制的原罪Unity引擎的targetFrameRate先说技术背景。《原神》PC客户端底层是Unity引擎而Unity渲染循环里有一个关键属性叫Application.targetFrameRate这个值决定了引擎每秒最多提交多少帧画面。米哈游在游戏初始化的时候把这个值固定成了60同时在垂直同步层面做了限制所以你不管用多好的显卡游戏内帧数都会被按在60帧附近。这里有个容易混淆的概念targetFrameRate只是目标值如果你的显卡性能不够实际帧率会低于60如果性能远超需求游戏也会主动刹车把帧率限制在60。这就是所谓“锁帧”的本质不是显卡跑不动而是引擎层不让它跑。帧率解锁工具干的事情说穿了就是把这个限制值改掉让引擎不再自我设限。1.2 解锁帧率的几种常见思路目前社区里解锁帧率的主流做法大概有三类。第一类是直接修改Unity引擎的内存参数用外部工具注入进程把targetFrameRate改成你想要的数值这也是genshin-fps-unlock采用的核心方式。第二类是通过修改游戏配置文件实现早期某些版本确实可以靠改LocalSettings或注册表达到解锁效果但后来官方把配置文件做了校验这条路基本堵死了。第三类是使用显卡驱动层面的功能比如NVIDIA控制面板里强行关闭垂直同步但实际效果有限因为引擎层的限制优先级更高驱动设置覆盖不了。genshin-fps-unlock走的是第一类路线它借助Frida框架对游戏进程做运行时注入在不修改游戏文件的前提下改变Unity引擎的帧率设置所以每次启动游戏后需要重新执行一次解锁操作。这样做的好处是不需要改动游戏本体文件游戏更新后工具通常还能继续用除非Unity版本号有重大变更。1.3 解锁前必须了解的两个版本差异这个工具在发布页一般会提供两个版本一个是常规版本另一个是带unsafe标识的版本。常规版本只修改帧率相关参数附带部分渲染优化unsafe版本除了解锁帧率之外还会绕过Unity的Time.deltaTime校正让游戏在高帧率下不出现“跑步速度变快”“动画加速”这类时序异常。这里需要展开说明一下deltaTime是什么。Unity的物理计算和动画更新依赖deltaTime每帧间隔时间当帧率从60提升到144时单帧的deltaTime会变小理论上游戏世界中物体的运动速度不变。但有些游戏会把一部分逻辑写成“每帧固定增量”的方式帧率高了逻辑就跑得快。放到《原神》里最常见的现象就是你用144帧跑图时角色爬山、游泳的体力消耗速度会明显变快对战斗动作也有微小影响。unsafe版本做的事情就是把这些依赖时间的逻辑按真实时间重新校准。我的建议是只要你不是特别在意“绝对原生体验”优先用常规版本。因为unsafe版本虽然逻辑更合理但它修改的范围大游戏更新后失效的概率也更高而且某些杀软会对它误报。不过如果你打算使用高刷新率显示器玩特别是144Hz以上的还是建议用unsafe版本不然很多细节手感会不跟手。2. 准备工作工具链安装与使用前检查2.1 需要准备的软件和运行环境这个工具目前只支持Windows系统而且对系统的要求比较明确Windows 10 1903及以上版本或者Windows 11。它依赖的组件主要有三个游戏本体、Python 3.8以上环境用于运行工具脚本、以及Frida工具包。Frida是这个工具的核心依赖它负责实现进程的注入和内存操作。这里有个细节可能劝退一些人Frida的安装对网络环境要求比较高如果你在安装pip install frida frida-tools时遇到超时或下载失败大概率是网络问题。建议使用国内镜像源安装命令是pip install frida frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple装完之后可以用frida --version验证是否安装成功。我环境里现在用的是Frida 16.x整体兼容性没什么问题。另外提醒一句游戏客户端必须是官方PC版WeGame版本能不能用取决于工具的后续适配目前我没实测过WeGame版的兼容性。启动游戏之前建议把游戏补丁更新到最新版本工具在发布页一般会标注兼容的游戏版本区间最好先确认一下。2.2 关闭反作弊防护最关键的初始步骤这一步是整个流程里最容易出问题的地方需要单独拿出来讲。游戏自带的mhyprot2是内核级反作弊模块它在游戏启动时会常驻内存并保护游戏进程的完整性。如果这个模块处于运行状态注入工具是没有权限对游戏进程做内存修改的哪怕强行注入游戏也大概率会闪退或直接触发反作弊检测。正确做法是先打开游戏启动器但不要点“开始游戏”在启动器界面停留然后打开任务管理器在“详细信息”标签页里找到mhyprot2或mhyprot开头的进程右键结束它结束后再切回启动器点击进入游戏。注意这个驱动每次启动游戏时都会重新加载所以新的会话都需要重复这个操作。有少数杀毒软件会把游戏反作弊驱动也标记为可疑项目导致反作弊功能无法正常加载这种情况下游戏本身可能弹窗报错。反过来某些杀软检测到Frida注入时也会报警。建议在运行工具时暂时关闭实时防护或者把Python进程和游戏目录加入白名单。这不是什么见不得人的操作只是杀软对这类行为比较敏感提前放行可以减少一些莫名其妙的失败。2.3 下载工具源码与目录结构解析下载genshin-fps-unlock源码时建议直接从GitHub仓库拿最新release版本不要用来源不明的第三方打包。解压之后你会看到主目录下有这几个关键文件genshin_fps_unlock.py主脚本负责与游戏进程交互执行解锁逻辑。requirements.txt依赖清单里面固定了Frida和相关库的版本。config.json配置文件定义帧率目标、启动参数等。unlocker.jsFrida注入用的JavaScript脚本核心逻辑都在这。可选的unsafe变体文件如unlocker_unsafe.js。我建议把目录放到一个纯英文字符路径下比如D:\gfps\因为工具在解析路径时对中文字符支持不稳定放到全英文目录可以省去后面编码报错的麻烦。另外这个目录建议单独建不要放在游戏目录里也不要用中文用户名所在的桌面路径。2.4 依赖安装与快速自检装完Python之后进入项目目录执行pip install -r requirements.txt装完后可以做一次快速自检python genshin_fps_unlock.py --check这个命令会检查你的Python版本、Frida版本、以及游戏是否正在运行。如果全部通过它会输出类似All checks passed的提示然后就可以进入正式解锁环节了。如果某一步报错按报错信息去排查最常见的问题就是Frida版本不对或游戏进程没有找到。3. 实战操作从启动游戏到帧率生效全流程3.1 第一步启动游戏并进入主界面这一步有讲究。一定要让游戏完全进入主界面能看到派蒙或加载出地图再执行解锁操作。不要在登录界面就注入因为此时Unity引擎的核心模块可能还没初始化完成注入虽然能成功但修改的参数会在后续加载时被重置。等游戏完全加载后再执行工具才能稳定修改帧率限制。另外需要注意的是解锁工具操作的是游戏进程的运行时数据所以游戏必须保持在运行状态注入完成后也不能关闭游戏否则修改就会失效。3.2 第二步执行解锁命令在游戏主界面出现后打开命令行工具PowerShell或CMD切换到项目目录执行python genshin_fps_unlock.py默认情况下工具会用配置文件里的参数自动执行解锁常见默认值是120帧。执行过程中命令行会输出类似Injecting...、Setting targetFrameRate to 120这样的日志看到Done或Success说明注入成功。如果你想自定义帧率可以带参数执行python genshin_fps_unlock.py --fps 165这里有个细节--fps参数只有在部分版本中支持有些版本需要直接改config.json里的target_fps字段。如果执行看板提示不支持该参数直接编辑配置文件即可。我自己用下来最稳妥的做法就是直接改config.json因为命令行参数在不同版本间的兼容性有些混乱。3.3 配置文件核心参数一览config.json是理解整个工具行为的钥匙里面的关键字段大致如下字段含义我的推荐值target_fps目标帧率上限显示器刷新率减5到10帧vsync_off是否强制关闭垂直同步trueunlock_menu是否解锁设置菜单中的帧率选项trueadjust_delta_time是否使用deltaTime修正需unsafe版本常规版忽略unsafe版设truegpu_optimization是否启用GPU占用优化false有概率导致画面闪烁针对target_fps的设置我个人的建议是普通60Hz显示器设置75就够了过高的帧率在60Hz屏幕上毫无意义只会白白增加显卡负载和发热。144Hz显示器设置为120至144之间比较合适。165Hz高刷屏可以设置到155左右留一点余量可以避免画面撕裂。为什么不建议直接拉满到240或300因为《原神》在极高帧率下CPU单核负载会明显上升部分场景尤其是璃月港和须弥城这类复杂场景会出现帧生成时间不稳体感上反而比稳定的144帧更卡。这个后面会详细说。3.4 使用unsafe变体时的额外步骤如果要使用unsafe版本需要在配置文件里指定对应脚本或者直接通过命令行参数--script unlocker_unsafe.js执行。这个变体会额外修改游戏的时间系统相关参数开启后你的角色动作、动画、体感时序都会与真实时间对齐。实测在165Hz刷新率下使用unsafe版跑图时角色爬山和游泳的体力消耗速度、跑动时镜头的切手感都更接近60帧原版体验。如果你使用的显示器是120Hz以下常规版本就已经够用unsafe的体感提升不会太明显。3.5 如何确认解锁真的生效了注入完成后游戏内帧率不会立刻显示变化原神提供帧率显示功能在设置里开启帧率显示后画面中会有一个实时的帧数角标。如果角标还是60可能的原因有几个一个是游戏设置中的“垂直同步”没有关闭。在帧率解锁工具的设定下游戏内的垂直同步依然以60为基准所以需要进游戏设置把垂直同步关掉或者通过工具强制关闭。另一个是解锁工具执行时机太早。常用排查办法是在命令行里再次执行解锁命令看日志输出如果提示Already unlocked或targetFrameRate is already set说明之前的注入是生效的。这时候去游戏内把垂直同步选项重新开关一次帧率就会跳到目标值。3.6 开机自动解锁的小技巧如果你和一样几乎每天都要登录做日常那每次启动游戏手动跑一次命令确实有点烦。我的做法是写一个简单的批处理脚本把“启动游戏后延迟等待然后自动执行解锁”这个流程串起来。新建一个start.bat内容大致如下echo off start C:\Program Files\Genshin Impact\launcher.exe timeout /t 60 /nobreak cd /d D:\gfps python genshin_fps_unlock.py这里timeout 60的意思是等60秒留出启动器和游戏加载的时间。如果你的电脑配置一般加载时间更长可以把数值调大到90甚至120。这个方法不优雅但足够实用我用了好久。4. 高帧率状态下的避坑与问题排查4.1 为什么显卡占用率不正常解锁帧率后很多人遇到的第一个问题就是显卡功耗和温度明显上升甚至能听到风扇狂转。这是正常的因为引擎不再限制帧率显卡会按照目标帧率全力渲染。但如果出现GPU占用率始终在99%或者显存占用异常攀升就要检查是不是后台还有其他程序在干扰。我见过一个比较极端的例子解锁后游戏帧数只有80帧但显卡占用率已经到了100%CPU占用率却只有20%。排查后发现是显卡驱动面板里开启了“最大性能优先”模式这个模式会强制显卡核心频率一直保持在高位即便游戏并不需要这么高的性能。解决方式是把驱动面板里的“电源管理模式”改回“最佳功率”帧数没降但温度降了差不多七八度。4.2 画面撕裂与垂直同步的正确搭配高帧率下最常见的画面问题是撕裂尤其是快速转动镜头的场景。屏幕上半部分和下半部分的画面错位严重影响体验。撕裂的原因是显卡输出帧率和显示器刷新率不同步。解决办法有两个方向一是在显卡驱动面板里开启G-Sync或FreeSync你的显示器得支持二是用工具自带的垂直同步开关配合显卡驱动设置。我的实际配置是游戏内垂直同步关闭工具开启vsync_off然后在NVIDIA控制面板里为游戏单独开启G-Sync同时配合显示器自身的144Hz刷新率。这样设置下来165帧跑起来基本看不到撕裂。如果你的显示器不支持VRR可变刷新率那就纠结了只能依赖显卡驱动里的“快速垂直同步”模式可能会有输入延迟增大的代价。4.3 高帧率下游戏物理时序异常怎么办不使用unsafe版本直接跑高帧率最常见的诡异现象包括开宝箱的动画变快、角色下落攻击的速度有轻微加速感、攀爬时体力消耗变快。这些都是因为Unity的deltaTime在帧率升高后发生了变化而游戏内部分逻辑仍然按“每帧固定增量”处理。如果你能接受这种细微时序差异那常规版就够了如果不能接受就必须切换到unsafe版本。但要注意unsafe版本并不适合所有版本的游戏游戏大版本更新后有一段“失效窗口期”在这期间工具的发布者还没适配新版本unsafe脚本可能无法注入这时候不要强行使用旧版本等待工具更新即可。4.4 启动即闪退或注入失败的排查清单遇到闪退八成是反作弊驱动没关闭Mjollnir驱动仍在保护游戏进程。遇到注入失败排查顺序建议是重新确认游戏是否已经进入主界面。确认Frida的版本与工具要求匹配可以降级或升级Frida试试。确认游戏更新的包体版本没有被工具的兼容区间覆盖。查看命令行输出如果提示Access is denied大概率是权限问题需要用管理员权限运行终端。确认杀毒软件没有拦截Frida的行为。我遇到过最离谱的一次注入一直失败排查半天发现是Windows的“内核隔离”功能开启了内存完整性导致Frida的注入驱动无法加载。把这个功能关掉后就正常了。后来我干脆在BIOS层面关闭了虚拟化相关的一个不必要功能不要学我这个操作会影响其他虚拟机的使用除非你很确定不需要之后注入就没再出过问题。4.5 设置目标帧率时容易被忽略的刷新率匹配问题我见过不少朋友把帧率目标直接拉满到240理由是“我的显示器支持240Hz”。但《原神》这个游戏在不同场景的渲染负载差异非常大就算你解锁到240实际在大世界复杂场景也只能稳定在140到160之间这时帧生成时间波动会很大表现为“看着帧数高但总觉得卡”。这里的原理是帧数高不等于流畅帧生成时间的平稳性才是关键。我实测数据在相同场景下把目标帧率设为120帧生成时间稳定在8.3毫秒左右体感非常顺滑设为240时实际帧率在140上下波动帧生成时间从4毫秒跳到8毫秒反而有“一顿一顿”的感觉。所以设置目标帧率时找一个比你硬件能稳定跑到的帧数再低十几帧的数值会让体验更好。4.6 关于封号风险的一句话实话这个我必须客观说帧率解锁行为违反了游戏的用户协议理论上存在账号处罚风险。不过从社区长期反馈和实际操作来看目前没有大规模因为单纯帧率解锁导致封号的案例反作弊系统更关注伤害修改、资源修改等直接影响游戏平衡的行为。但这不代表官方不会在未来调整策略。我的建议是主力账号如果不愿意冒险可以只在低等级小号上先体验另外在联机模式中使用解锁工具的人数很少也有一部分联机相关异常情况无法确定归因尽量单人模式下使用。风险自理别到时候后悔。5. 工具不更新了怎么办自救方案与思路5.1 原理不复杂自己动手也能改工具的工作原理说白了就两件事找到Unity引擎的帧率控制对象然后改掉它的属性值。游戏更新后工具失效大多数时候只是进程内对象的偏移量变了或者Unity版本升级导致数据结构有调整核心思路并没有变。如果你懂一点JavaScript和Frida的基本用法可以自己看unlocker.js的报错日志往往只是某段内存地址需要修正。网上也能找到一些“适配新版”的社区补丁注意甄别来源尽量选评论多、更新时间近的。我自己有一次在新版本上线后等了两天没等到官方适配就参考旧脚本自己改偏移量花了大概半小时跑通了。5.2 给开发者的简易调试思路如果你也对这类工具的调试感兴趣这里提一个实用的思路先用Frida自带的frida-trace命令跟踪游戏进程的UnityEngine.Application类调用了哪些方法找到set_targetFrameRate相关调用然后通过Memory.scan扫描常量60在内存中的引用位置最后用拦截器把目标属性替换为你设定的值。过程不复杂但需要心态稳定游戏进程在调试时容易崩溃建议关闭所有无关后台程序后再试。这套思路并不只适用于这款游戏对理解Unity引擎的帧率控制机制也很有帮助。5.3 换显示器后需要重新思考的几个设置如果你像我一样从60Hz显示器换到165Hz高刷屏解锁帧率的意义和精神面貌会完全不同。60Hz屏幕上解锁到90帧提升有限但在144Hz屏幕上解锁到144帧画面流畅度是质变尤其是战斗中的运镜、冲刺、元素反应特效整体观感和操作反馈都上了个台阶。如果你刚换显示器记得重新校准目标帧率用前面说的方法找到最适合自己显卡性能的档位。显卡不够强悍时不要被165Hz的“数字上限”绑架1080P下稳定120帧的体验远好于2K下时高时低的90帧。写在最后的一个实操经验整个折腾过程中我最深的一点体会是不要盲目追求高帧率数字。解锁帧率的本质是让游戏适配你的硬件能力而不是让硬件为某个数字跑死。以我目前这台配置为参考——CPU是i5-13490F显卡是RTX 4060显示器是165Hz高刷屏——在2K分辨率下全特效场景把目标帧率设为155左右能获得最佳平衡显卡温度稳定在65度上下风扇声音几乎听不到。如果我把目标改成240显卡温度直接冲到78度帧数却因为CPU瓶颈只多了不到10帧完全没有意义。找到那个“甜点值”才是这工具最大的价值所在。