前置 Mod
详情
概述
一组用于更流畅游戏体验的调整与修复。SKSE64 插件。
主要功能
- 支持 'DXGI flip model',这是一项 DirectX 功能,可大幅提升无边框全屏模式性能,并启用此前仅在独占模式中可用的功能。
- 一系列与帧率相关的错误修复,包括一个功能完整且性能优化的物理修复(在内战任务期间有效,与所有内容兼容)。
- 可在无边框全屏模式下禁用垂直同步(启用 DXGI flip model 时)。
- 为独占全屏模式解除刷新率上限。
- 帧率限制,可为 UI、地图、日志、加载画面等提供单独选项。
- 在无边框全屏模式下以任意分辨率运行(无边框升频)
重要
此插件会禁用 Skyrim 内置的帧率限制器,并用自己的限制器取而代之。限制可在 SSEDisplayTweaks.ini 的 FramerateLimit 选项中配置(默认 240 FPS)。你也可以使用外部工具或显卡驱动内置的限制器。
请注意,启动器中的全屏和无边框选项(SkyrimPrefs.ini 中的 bFull Screen 和 bBorderless)不会生效;如果你想更改显示模式,必须在 SSEDisplayTweaks.ini 中设置(Fullscreen 和 Borderless 选项)。 例如,如果你想切换到独占全屏,设置 Fullscreen=true;窗口模式则设置 Fullscreen=false 和 Borderless=false,等等。
从版本 0.4.11 开始,如果 SSEDisplayTweaks.ini 中的 'Fullscreen' 或 'Borderless' 被注释掉,则会使用 SkyrimPrefs.ini 的显示模式设置。目前默认配置仍会覆盖显示模式,默认使用无边框全屏。
自 0.4.12 起,'Fullscreen' 和 'Borderless' 选项已被注释掉。
性能
DXGI flip model 可以绕过桌面合成(DWM),直接将帧发送到屏幕,使窗口模式的性能与独占模式相当甚至更好,减少卡顿、降低输入延迟并提高帧率。另一个好处是能更好地与 HDR 和 G-Sync 等功能集成。插件会检测你的系统是否支持 flip,并自动选择最佳可用选项(如有必要,你可以手动配置,详见配置中的 SwapEffect 选项)。
自 Windows 8.1 起支持 flip;如果你运行的是更低版本,请使用独占全屏以获得更好性能。
降低帧延迟也可能减少卡顿(在某些情况下效果显著),配置中 MaxFrameLatency 选项上方有详细说明。
错误修复
Havok 修复会根据帧率调整计时数值,以防止高帧率下物理表现异常。还包含若干其他修复:
- ThirdPersonMovementFix - 修复高帧率下无法在第三人称中移动的问题。
- MapMoveKeyboardSpeedFix - 将地图键盘移动速度与帧率解耦。
- SittingHorizontalLookSensitivityFix - 将坐下时第一人称水平视角灵敏度与帧率解耦。
- AutoVanityCameraSpeedFix - 将自动欣赏镜头旋转速度与帧率解耦。
- DialogueLookSpeedFix - 将对话视角速度与帧率解耦。
- GamepadCursorSpeedFix - 将手柄光标速度与帧率解耦。
- LockpickRotationSpeedFix - 将开锁鼠标旋转速度与帧率解耦。
- FreeCameraVerticalSensitivityFix - 将自由相机垂直灵敏度与帧率解耦。
- FreeCameraMovementSpeedFix - 将自由相机移动速度与帧率解耦。
- SkipMissingPluginINI - 防止扫描不存在的插件 ini。可显著改善启动时间。
- LockCursor - 将鼠标光标锁定到游戏窗口,防止在副显示器上滚动。
- PhysicsDamagePatch - 根据帧时间调整被物理对象击中时造成的伤害量。
- FreeCameraVerticalSensitivityFix - 将自由相机垂直灵敏度与帧率解耦(与 EngineFixes 中相同的补丁)
- FreeCameraMovementSpeedFix - 将自由相机移动速度与帧率解耦(与 EngineFixes 中相同的补丁)
非可选:
- (独占全屏)修复 Alt-Tab 切换时刷新率重置为桌面设置的问题。
关于人们在各种论坛上热衷于复读的所谓“高 FPS 脚本计时问题”——并不存在。恰恰相反,极低和/或极不稳定的帧率更有可能导致 VM 出现问题。如果 VM 在较高帧率下出现问题,那是底层问题的症状。理想情况下,它在 90-144 FPS 下应比锁定 60 FPS 表现好得多。内置的屏幕显示可以检测并警告你脚本引擎是否过载。
帧率限制器
允许为各个 UI 菜单配置单独的限制。你还可以为每个菜单强制开启/关闭垂直同步。主要用途是在日志/系统界面中解除帧率限制以加速 MCM,同时在游戏中保持合理限制。更多信息请参阅 Render 部分的 UIFramerateLimit* 选项。
屏幕显示(OSD)
OSD 可配置为显示当前 FPS、帧时间、帧计数器和基于系统分配预算的 VRAM 消耗(详情请阅读配置)。它也可以作为诊断脚本相关问题的第一步,因为当脚本引擎过载时它会显示警告。
脚本引擎短时间内过载是正常的,例如快速旅行后大量事件同时触发时,指示器可能会短暂出现,这无需担心。但是,如果它持续显示或伴随 FPS 急剧下降,那你就有问题了。通常应归咎于制作拙劣且脚本繁重的 mod。检查堆栈以了解发生了什么。
配置
配置文件对每个可用选项都有详细文档,你可以在下载前在此处查看。
为避免更新后丢失自定义配置,请在 Data\SKSE\Plugins 中创建 SSEDisplayTweaks_Custom.ini。该文件中的任何选项都将覆盖主配置。
其他
我强烈建议安装 Engine Fixes。它包含一个将垂直视角灵敏度与帧率解耦的修复,以及 form/tree lod 引用缓存,在某些区域可带来巨大的 FPS 提升。
兼容性
- 与 Havok Fix 插件不兼容。
- ENB:ForceVSync 与无边框垂直同步关闭功能(EnableTearing)不兼容;如果你启用了它,请在 enblocal.ini 中设置 ForceVSync=false,并改为在 SSEDisplayTweaks.ini 中配置垂直同步选项。请注意,除此之外,在哪里启用垂直同步没有区别,ENB 没有自己的实现——ForceVSync 只是为了方便。
- 如果你想解锁帧率并使用 ENB,请确保 enblocal.ini 中 EnableFPSLimit=false,并检查你没有在其他地方受到限制(RTSS、驱动控制面板等)。此插件解除引擎中的帧率限制,它无法控制其他插件、驱动或外部应用程序。
- 如果游戏无法正常启动(音乐播放但卡在主菜单),那是因为有其他东西覆盖了 Skyrim 的垂直同步设置;要么在插件配置中关闭它(EnableVSync=false 和 EnableTearing=false),要么禁用冲突软件。
- 如果你使用无边框升频并遇到 ENB 效果问题,请在 Render 部分设置 DisableBufferResizing=true。
鸣谢
SKSE 团队和 Ryan(CommonLibSSE)的所有逆向工程工作。
源码位于 GitHub

