add an optional DXVK FPS limiter in Setup & Rendering
prefill the value from the highest attached display refresh rate detected at startup
keep the limiter enabled by default for new configurations
gray the controls out in DirectX 9 and never apply the setting there
preserve pre-existing positive DXVK limit state when upgrading older managed installations
persist the selected limit per WoW installation
handle signed legacy d3d9.maxFrameRate lines without leaving duplicate settings
Validation
mocked multi-monitor tests verify the fastest attached valid display is selected
detached displays, invalid 0/1 Hz values and failed settings queries are ignored
fallback refresh-rate behavior is tested
DirectX 9 isolation and DXVK selected-value application are tested
dxvk_fps.py and its focused tests are included in the explicit syntax check
Safety
no Vanilla Tweaks executable offsets are changed
no plugin/component logic is modified
only d3d9.maxFrameRate in the tool-managed dxvk.conf is touched
no artificial 200 FPS cap and no Hz - 3 adjustment
Draft PR for CI/build validation before any merge to main.
## Summary
- add an optional DXVK FPS limiter in Setup & Rendering
- prefill the value from the highest attached display refresh rate detected at startup
- keep the limiter enabled by default for new configurations
- gray the controls out in DirectX 9 and never apply the setting there
- preserve pre-existing positive DXVK limit state when upgrading older managed installations
- persist the selected limit per WoW installation
- handle signed legacy `d3d9.maxFrameRate` lines without leaving duplicate settings
## Validation
- mocked multi-monitor tests verify the fastest attached valid display is selected
- detached displays, invalid 0/1 Hz values and failed settings queries are ignored
- fallback refresh-rate behavior is tested
- DirectX 9 isolation and DXVK selected-value application are tested
- `dxvk_fps.py` and its focused tests are included in the explicit syntax check
## Safety
- no Vanilla Tweaks executable offsets are changed
- no plugin/component logic is modified
- only `d3d9.maxFrameRate` in the tool-managed `dxvk.conf` is touched
- no artificial 200 FPS cap and no `Hz - 3` adjustment
Draft PR for CI/build validation before any merge to `main`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
d3d9.maxFrameRatelines without leaving duplicate settingsValidation
dxvk_fps.pyand its focused tests are included in the explicit syntax checkSafety
d3d9.maxFrameRatein the tool-manageddxvk.confis touchedHz - 3adjustmentDraft PR for CI/build validation before any merge to
main.