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.
模組介紹 作者原文
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 -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.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: