ValheimPerformanceOverhaul
Fps mod for Valheim.
模組介紹 作者原文
⚡ Valheim Performance Overhaul (VPO)
Valheim Performance Overhaul (VPO) — an ultimate low-level Unity engine optimization suite for Valheim. The mod completely reworks the game's internal systems: memory, PhysX, garbage collection (GC), terrain mesh generation, base batching, AI calculations, GPU buffering, and hardware light culling.
Includes a built-in in-game settings menu (F6), static building batching (F7), one-click optimization profiles, and an automatic compatibility shield that disables conflicts with other mods on the fly.
🎮 Quick Start and Hotkeys
| Key | Function | Description |
|:-----------: |:---------------------- |:-------------------------------------------------------------------------------------------- |
| F6 | Settings Menu | Opens the mod's visual configuration window with instant application of changes (Hot-Reload). |
| F7 | Base Batching Point | Saves or toggles the automatic mesh merging anchor at the current world position. |
🚀 One-Click Optimization Profiles
Choose the appropriate preset directly from the menu (F6) without restarting the game:
- 🥔 Potato (Max FPS): For low-end PCs, laptops with integrated graphics, and handheld consoles (Steam Deck). Maximum AI tick compression, physical LOD for mobs, fire and smoke particle optimization, and strict frame budget control.
- ⚖️ Normal (Basic Balance): Recommended for most configurations. 25–45% FPS increase, elimination of micro-stutters, and smooth frame-time distribution without noticeable visual quality loss.
- 💎 High (Vanilla+): For powerful systems. Preserves original graphics quality while enabling asynchronous world saves, JIT warm-up, and memory leak protection.
🛠️ Detailed Mod Features Overview
⚡ Engine Core and Multithreading (Engine & I/O)
- Async GPU Upload: Expands the default texture and mesh upload buffer from 4 MB to 16–512 MB, increasing the time slice from 2–33 ms. Eliminates stuttering when moving quickly between biomes.
- Valheim.exe Process Priority: Automatically sets the process priority at the operating system level (High or Above Normal).
- Main Thread Priority: Raises the system priority of the main rendering thread to prevent micro-delays when background Windows programs are under load.
- Fine-Tuned PhysX: Optimizes solver iteration counts and rigidbody sleep thresholds (Sleep Threshold), reducing CPU load from the physics of falling debris and branches.
- Skip Intro Logos: Launches the game directly into the main menu without intro splash screens.
🧠 Memory, Smart Garbage Collection (GC), and Asynchronous Saves
- Async World Save: Completely eliminates game freezes during autosaves. Data is cloned in memory and written in a background thread to.vpotemp →.old → the target world file.
- Smart GC Low-Latency Mode: Switches the.NET garbage collector to GCLatencyMode.LowLatency while running, jumping, swimming, fighting, and teleporting. Full memory cleanup calls and Resources.UnloadUnusedAssets() are blocked until the player is safe.
- JIT (Just-In-Time) Warm-up: Compiles heavy combat, inventory, damage, and GUI methods in advance during startup, eliminating the first freeze when attacking or opening the map.
- Safe Periodic Cleanup: Runs gentle background unloading of unused assets and garbage collection every 10 minutes, preventing memory leaks during multi-hour sessions.
⏱️ Frame-Time Protection and Physics Stabilization
- Frame Budget Guard: Continuously measures rare frame-rate drops (1% Low). When a severe drop occurs, it dynamically clamps Time.maximumDeltaTime, preventing the physics engine from entering a "slow-motion effect" and triggering a chain reaction of lag.
- Independent Player Animations: Switches the character animation component to AnimatorUpdateMode.UnscaledTime — movement and character responsiveness remain smooth even when overall FPS drops.
- Task Queue Time-Slicing (ISliceableTask): Allows heavy mod modules to execute tasks in batches within a strictly defined millisecond-per-frame limit.
🌲
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: