TimelinePerformanceFix
Fixes FPS drops and stuttering caused by player-history compression and excessive snapshot updates in PEAK. Reduces timeline CPU overhead and preserves player history. No configuration required.
By TactiKot
| Last updated | 2 days ago |
| Total downloads | 895 |
| Total rating | 1 |
| Categories | Mods Client Side Optimization |
| Dependency string | TactiKot-TimelinePerformanceFix-0.1.0 |
| Dependants | 1 other package depends on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
Timeline Performance Fix
Fix FPS drops and stuttering caused by player-history processing
Timeline Performance Fix targets a specific source of FPS drops, stuttering, and performance degradation during PEAK runs: excessive player-state snapshot updates and faulty timeline compression.
It reduces unnecessary CPU work while keeping player histories usable for recovery and the end-of-run report. The underlying snapshot bug does not require a player to disconnect or rejoin.
What it fixes
- Excessive snapshot updates. A reversed timer check can refresh a recent snapshot every frame. The mod restores the intended one-second interval for each character.
- Repeated failed attempts. Invalid snapshots are also limited to one periodic attempt per second, so a failed capture cannot keep retrying every frame. Inventory and state-change updates remain immediate.
- Faulty player-history compression. Points are selected across the full timeline, preserving events and state transitions within the available budget. Repeated compression no longer favors only the beginning of a run.
- Shared history lists. Live history, saved snapshots, and restored history use independent lists, preventing later recording from changing an existing snapshot.
- Incorrect player ID lookups. Recovery and quicksave import use the full UserId instead of its hash, so saved histories and achievement progress are looked up under the correct key.
Will this fix every FPS drop?
This mod addresses timeline-related CPU overhead. It does not change graphics settings, increase rendering distance, or fix unrelated GPU, network, or other mod issues. No fixed FPS increase is promised; the benefit depends on whether this bug is affecting your run.
Installation
Install with a Thunderstore-compatible mod manager and launch the modded profile. BepInExPack_PEAK is the only required dependency. No configuration is needed.
For manual installation, install BepInEx first, close the game, and extract this package into the PEAK folder. The plugin should be at:
BepInEx/plugins/TimelinePerformanceFix/TimelinePerformanceFix.dll
For the local performance fix to apply to everyone, each player should install it, including the host. The host needs the mod for the host's recovery lookup fix. Network data formats are unchanged, so the mod does not require matching installations to join a lobby.
Compatibility and limits
- Built and tested against PEAK 2.4.b / BepInEx 5.4.23.3.
- Player-history tests cover 4, 5, 12, and 20 players. These are isolated tests, not a live session with 20 players.
- Works independently. It also coordinates overlapping patches with the current AlwaysJoin 0.1.0 build when installed.
- The snapshot limit remains 512 points. If important events exceed that limit, some detail must be discarded; the mod spreads retained points across the history and limits repeated warnings.
- It cannot recover points already discarded or uniquely reconstruct old UserIds stored only as hashes.
- It does not redesign the end-of-run graph or fix its separate layout limitations for large groups.
Troubleshooting
Check BepInEx/LogOutput.log for Loading [Timeline Performance Fix 0.1.0], followed by Timeline startup checks passed and Enabled: event-preserving timeline selection.
If the log says Fix was not enabled, the mod rejected unsupported game code or a conflicting patch and removed its own patches. Keep that error when reporting the issue, together with your game version and mod list.
Validation
The release checks cover timeline selection, snapshot ownership, the full periodic-update control flow with test dependencies, and real patched methods in the game's Mono runtime. They also check both patch orders with AlwaysJoin and rollback after an injected conflict. These checks are not a live multiplayer FPS benchmark.