
解除帧率上限
移除《星球大战:前线 II》(2017) 中的 200FPS 帧率上限
查看大图[color=#D4D4D8][size=5][font=Sans-serif][b]概述[/b][/font][/size][/color]
[color=#D4D4D8][size=3][font=Sans-serif]《星球大战:前线 II》(2017)的引擎中存在硬编码的 200 FPS 上限,其实现方式是通过休眠渲染线程,将最小帧时间限制为 5ms。与某些其他寒霜引擎作品不同,本作还会忽略 [/font][font=Courier New]GameTime.MaxVariableFps[/font][font=Sans-serif],这已在网上引发了许多困惑。[/font][/size][/color]
[color=#D4D4D8][size=3][font=Sans-serif]本模组完全移除了人为的 FPS 上限,让你可以达到高得多的帧率。[/font][/size][/color][color=#D4D4D8][size=3][font=Sans-serif] 你可以以无上限方式运行,或在外部软件(NVIDIA 控制面板、AMD Software、RTSS 等)中自行设置 FPS 上限[/font][/size][/color]
[color=#D4D4D8][size=5][font=Sans-serif][b]安装[/b][/font][/size][/color][color=#D4D4D8][size=3][font=Sans-serif]
1. 下载 [/font][font=Courier New]swbf2_uncap.zip[/font][font=Sans-serif]
2. 将 [/font][font=Courier New]dinput8.dll[/font][font=Sans-serif] 和 [/font][font=Courier New]swbf2_uncap.ini[/font][font=Sans-serif] 解压到游戏文件夹中,与 [/font][font=Courier New]starwarsbattlefrontii.exe[/font][font=Sans-serif] 放在同一目录下。
3. 照常启动游戏。无论是否使用 Frosty Mod Manager 均可正常工作。
要检查是否生效,请打开游戏文件夹中的 [/font][font=Courier New]swbf2_uncap.log[/font][font=Sans-serif]。其中应包含 [/font][font=Courier New]interval 50000 -> 0[/font][font=Sans-serif]。进入游戏后,按 [/font][font=Courier New]~[/font][font=Sans-serif] 并在控制台中输入 [/font][font=Courier New]PerfOverlay.DrawFps 1[/font][font=Sans-serif]。假设你的 GPU 性能足够强,最上方的 CPU 行应显示超过 200 fps。[/font][/size][/color]
[color=#D4D4D8][size=5][font=Sans-serif][b]配置[/b][/font][/size][/color][color=#D4D4D8][size=3][font=Sans-serif]
编辑 [/font][font=Courier New]swbf2_uncap.ini[/font][font=Sans-serif]:[/font]
[font=Courier New]Interval=0[/font][font=Sans-serif] 最小帧时间,单位为 QueryPerformanceCounter 计时单位(每秒 10,000,000 个)。0 表示无上限,25000 将上限设为 400 fps,50000 为默认的 200 fps。[/font]
[font=Courier New]Enabled=1[/font][font=Sans-serif] 设为 0 可在不移除模组的情况下将其关闭。[/font][/size][/color]
[color=#D4D4D8][size=5][font=Sans-serif][b]卸载[/b][/font][/size][/color][color=#D4D4D8][size=3][font=Sans-serif]
从游戏文件夹中删除 [/font][font=Courier New]dinput8.dll[/font][font=Sans-serif] 和 [/font][font=Courier New]swbf2_uncap.ini[/font][font=Sans-serif]。[/font][/size][/color]
[color=#D4D4D8][size=5][font=Sans-serif][b]兼容性[/b][/font][/size][/color]
[list]
[][color=#D4D4D8][size=3][font=Sans-serif]游戏版本:仅在最终补丁(2024 年 10 月的 PC 版本,[/font][font=Courier New]starwarsbattlefrontii.exe[/font][font=Sans-serif] 的 MD5 为 [/font][font=Courier New]76a8ee9a94ef97360a9a3e5974fd5753[/font][font=Sans-serif])上测试过。在任何其他版本上,模组会检查游戏的内存布局,发现不匹配则不写入任何内容,并记录“不支持的游戏版本”。[/font][/size][/color][/]
[][color=#D4D4D8][size=3][font=Sans-serif]Frosty Mod Manager:兼容。Frosty 使用 [/font][font=Courier New]CryptBase.dll[/font][font=Sans-serif],而本模组使用 [/font][font=Courier New]dinput8.dll[/font][font=Sans-serif]。[/font][/size][/color][/]
[][color=#D4D4D8][size=3][font=Sans-serif]其他名为 [/font][font=Courier New]dinput8.dll[/font][font=Sans-serif] 的模组:同一时间只能安装一个。[/font][/size][/color][/]
[/list]
[color=#D4D4D8][size=5][font=Sans-serif][b]多人游戏安全[/b][/font][/size][/color][color=#D4D4D8][size=3][font=Sans-serif]
本模组仅改变渲染线程在帧与帧之间等待的时长。它不会触碰 30 Hz 的模拟 tick、网络通信或任何游戏数据,也不修改任何代码。
它确实会从游戏进程内部写入游戏内存。根据我的经验,它在多人游戏中完全安全,300FPS+ 带来的额外流畅度让多人游戏更加愉快。不过,在线使用风险自负。[/font][/size][/color]
[b][size=5]开源[/size][/b]
在 GitHub 上查看源代码。如果你愿意,甚至可以从源代码自行构建 DLL。
[size=4][url=https://github.com/mackieks/bf2-uncap][b]https://github.com/mackieks/bf2-uncap[/b][/url][/size]
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。