Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
| Last updated | a day ago |
| Total downloads | 32372 |
| Total rating | 14 |
| Categories | Mods Tweaks Misc Tools Audio Server-side Client-side Utility Ashlands Update Bog Witch Update AI Generated Deep North Update |
| Dependency string | Skarif-ValheimPerformanceOverhaul-7.3.1612 |
| Dependants | 19 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
⚡ 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.LowLatencywhile running, jumping, swimming, fighting, and teleporting. Full memory cleanup calls andResources.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.
🌲 Vegetation and Terrain RAM Cache
- LRU Terrain Mesh Cache (RAM): Stores generated height meshes, ocean depth maps, biome data, and ground paint masks in RAM (configurable size: 8–256 MB). Re-entering an area is instant, without repeated mathematical calculations.
- Dynamic Invalidation: Fully compatible with pickaxes, cultivators, and terrain modification mods (
TerrainComp). Modified sectors are automatically recalculated and updated. - Smooth Vegetation Spawning (Vegetation Slicing): Spawning trees, stumps, and bushes no longer freezes the game when entering a new sector — it is distributed across small batches per frame while preserving the deterministic world seed.
- Clutter Optimization: Optimizes the rendering distance and density of procedural grass and rocks.
🏰 Static Batching of Bases and Mega-Builds
- Sector-Based Geometry Merging: Merges static base building elements into unified optimized Unity meshes (
StaticBatchingUtility) within 64x64 m zones. Reduces Draw Calls on large bases from several thousand to just a few dozen. - Base and Bed Anchors (F7): Automatically detects sleeping places or saves positions when pressing F7. When returning home, it starts merging after a stabilization delay following construction.
- Intelligent Blacklist: Never merges chests, doors, workbenches, portals, beds, campfires, signs, boats, or carts.
- Building Load Throttling: Reduces the frequency of continuous
WearNTearsupport checks for completed static buildings.
🎨 Graphics, Textures, and Background LOD Models
- Background LOD Generation: A multithreaded level-of-detail generator (QEM Decimation) analyzes heavy models without original LODs and creates lightweight LOD1 and LOD2 variants directly during gameplay.
- Disk Model Caching: Completed LOD meshes are saved to
BepInEx/cache/VPO/, so each object's calculations are performed only once. - Native GPU Instancing: Forces the Instancing flag on compatible world materials for batch rendering objects in a single GPU pass.
- Hardware Light Culling (CullingGroup): Uses Unity's hardware visibility sphere API to completely disable light sources hidden behind walls or outside the screen, as well as torch flickering scripts.
- Texture Mipmap Streaming: Dynamically manages texture mip levels based on camera distance and allocated VRAM budget. A manual downscaling multiplier is provided for low-end graphics cards.
- Optimized Camera Cache: Caches the reference to
Camera.mainand the frustum planes (Frustum Planes) once per frame, eliminating thousands of slow internal engine calls.
🐺 Creature AI, Physics LOD, and Pet Sleep
- Distant AI Throttling: Reduces the update frequency of target-search and orientation logic for creatures outside the player's active combat area.
- Pathfinding Scheduler: Limits simultaneous navigation mesh calculations to a specified per-frame budget, eliminating lag caused by crowds of mobs.
- Character Physics LOD: Distant creatures skip
FixedUpdateticks, slope calculations on uneven terrain, and water-depth checks when standing still. - Energy-Saving Pet Sleep: Tamed animals (boars, wolves, loxes) inside a protected base perimeter enter deep sleep mode: AI ticks, animators, physics bodies, and collisions are disabled. Animals wake up instantly when the player approaches or they take any damage.
💨 Particle, Torch, and Smoke Optimization
- Lightweight Smoke Aerodynamics: Completely reworks the physics of campfire smoke plumes: reduces mass, adjusts air resistance, removes heavy smoke-to-smoke collision calculations, and sets a global particle limit.
- Fire and Torch Optimization: Disables excess sparks, embers, and glowing points from wall torches, chandeliers, and braziers, reducing flame lifetime to lower GPU load.
- Object Pooling: Arrow hit effects (
vfx_arrowhit), impact effects, and sparks are no longer created and destroyed through expensiveInstantiate/Destroycalls, but are instantly reused from a memory pool. - Distance Emitter Culling: Automatically reduces emission or disables distant particles, with reliable protection for portals and key story objects.
🌐 Networking, Minimap, and World Pre-Generator (Chunky)
- Increased Bandwidth: Raises the
ZSteamSocketsocket send limit to 512 KB/s, eliminating desynchronization on populated servers. - Smart ZDO Packet Prioritization: Network packets for players, ships, and active portals are always sent first.
- Map Marker Throttling: Optimizes the update frequency of dynamic minimap pins (once every 4 frames).
- Chunky Background World Pre-Generator: A console tool for smooth, advance world generation around the player in a spiral pattern.
⌨️ Chunky Console Commands (Console F5):
vpo_chunky_start <radius> - Start spiral world pre-generation (e.g. vpo_chunky_start 10, max. 40)
vpo_chunky_stop - Force-stop the current pre-generation
vpo_chunky_status - Show status, current zone, progress, and average FPS
Note: Chunky automatically pauses if the current FPS drops below your configured threshold.
🛡️ Dynamic Compatibility Shield (Mod Conflict Guard)
VPO is designed for stable operation in modpacks containing hundreds of mods. The compatibility guard operates on two levels:
-
Deep Dynamic Harmony Audit: Directly queries the game's runtime registry. If a third-party mod intercepts a method through a Prefix or Transpiler (for example, completely replacing AI or terrain systems), VPO automatically isolates and disables the corresponding submodule, preventing logic breakage or crashes.
-
Built-in Rules Database:
- Expand World: Automatically disables VPO's terrain cache and vegetation spawn optimization, giving full control to Expand World.
- Creature Level and Loot Control (CLLC): Hands over spawning, abilities, and attack logic to CLLC modules.
- ValheimRAFT: Disables static mesh merging and physics LOD near floating bases.
- PlanBuild: Disables batching of blueprints and semi-transparent ghost buildings.
📥 Installation
Through a Mod Manager (Recommended)
- Install r2modman or Thunderstore Mod Manager.
- Search for Valheim Performance Overhaul by author Skarif.
- Click Download with Dependencies and launch the game.
Manual
- Make sure BepInExPack Valheim is installed.
- Download the mod archive and extract its contents into:
Valheim/BepInEx/plugins/. - Launch the game and press F6 to verify it works!
⚙️ Configuration
The configuration file is automatically created at:
Valheim/BepInEx/config/com.Skarif.ValheimPerformanceOverhaul_WATER.cfg
Any parameters can be changed on the fly directly in-game through the F6 menu without restarting the client.
💬 Developer Contact and Support
Discord: skarif_q
Steam: Skarif_W
⚡ Valheim Performance Overhaul (VPO)
Valheim Performance Overhaul (VPO) — ультимативный комплекс низкоуровневой оптимизации движка Unity для Valheim. Мод полностью перерабатывает внутренние узлы игры: память, PhysX, сборщик мусора (GC), генерацию мешей ландшафта, батчинг баз, расчеты ИИ, буферизацию GPU и аппаратное отсечение света.
Включает встроенное внутриигровое меню настроек (F6), статическое объединение построек (F7), профили оптимизации в один клик и автоматический щит совместимости, отключающий конфликты с другими модами на лету.
🎮 Быстрый старт и горячие клавиши
| Клавиша | Функция | Описание |
|---|---|---|
| F6 | Меню настроек | Открывает визуальное окно конфигурации мода с мгновенным применением изменений (Hot-Reload). |
| F7 | Точка батчинга базы | Сохраняет или переключает якорь автоматического объединения мешей в текущей точке мира. |
🚀 Профили оптимизации в один клик
Выбирайте подходящий шаблон прямо в меню (F6) без перезапуска игры:
- 🥔 Potato (Макс. FPS): Для слабых ПК, ноутбуков со встроенной графикой и портативных консолей (Steam Deck). Максимальное сжатие тиков ИИ, физический LOD мобов, оптимизация частиц огня и дыма, жесткий контроль бюджета кадров.
- ⚖️ Normal (Базовый баланс): Рекомендуется для большинства конфигураций. Прирост 25–45% FPS, устранение микрофризов и плавное распределение времени кадра без заметных глазу визуальных потерь.
- 💎 High (Vanilla+): Для мощных систем. Сохраняет оригинальное качество графики, подключая асинхронные сохранения мира, прогрев JIT и защиту от утечек памяти.
🛠️ Подробный обзор возможностей мода
⚡ Ядро движка и многопоточность (Engine & I/O)
- Асинхронный буфер GPU (Async Upload): Расширяет базовый буфер передачи текстур и мешей в видеопамять с дефолтных 4 МБ до 16–512 МБ, увеличивая тайм-срез до 2–33 мс. Устраняет заикания при быстром перемещении между биомами.
- Приоритет процесса Valheim.exe: Автоматически выставляет приоритет процесса на уровне операционной системы (High или Above Normal).
- Приоритет главного потока: Повышает системный приоритет основного потока рендеринга для предотвращения микро-задержек при нагрузке фоновыми программами Windows.
- Тонкая настройка PhysX: Оптимизирует число итераций солвера и пороги засыпания твердых тел (Sleep Threshold), разгружая процессор от физики падающего мусора и веток.
- Пропуск вступительных логотипов: Мгновенный запуск игры прямо в главное меню без вступительных заставок.
🧠 Память, умный сборщик мусора (GC) и асинхронные сохранения
- Асинхронные сохранения мира (Async World Save): Полностью убирает зависание игры во время автосохранений. Данные клонируются в памяти и записываются в фоновом потоке в файлы
.vpotemp→.old→ целевой файл мира. - Умный режим низкой задержки GC: Переключает сборщик мусора .NET в
GCLatencyMode.LowLatencyво время бега, прыжков, плавания, боя и телепортации. Вызовы полной очистки памяти иResources.UnloadUnusedAssets()блокируются до момента, пока игрок не окажется в безопасности. - Прогрев JIT (Just-In-Time Warm-up): Компилирует тяжелые методы боя, инвентаря, урона и GUI заранее во время запуска, исключая первый фриз при нанесении удара или открытии карты.
- Безопасная периодическая очистка: Запускает бережную фоновую выгрузку неиспользуемых ассетов и сборку мусора раз в 10 минут, предотвращая утечки памяти при многочасовой игре.
⏱️ Защита времени кадра и стабилизация физики
- Frame Budget Guard: Непрерывно замеряет редкие события падения частоты (1% Low). При возникновении тяжелой просадки динамически сжимает
Time.maximumDeltaTime, не позволяя физическому движку уйти в «эффект замедленной съемки» и вызывая цепную волну лагов. - Независимые анимации игрока: Переводит компонент анимаций персонажа в
AnimatorUpdateMode.UnscaledTime— движения и отклик персонажа остаются плавными даже при падении общего FPS. - Тайм-слайсинг очередей (ISliceableTask): Позволяет тяжелым модулям мода выполнять задачи порциями в рамках строго заданного лимита миллисекунд за кадр.
🌲 Растительность и оперативный кэш ландшафта
- LRU-кэш мешей ландшафта (RAM): Сохраняет сгенерированные меши высот, карту глубин океана, данные биомов и маски покраски земли в оперативной памяти (размер настраивается: 8–256 МБ). Повторный вход в зону происходит мгновенно без повторных математических расчетов.
- Динамическая инвалидация: Кэш полностью совместим с кирками, мотыгами и модами на терраформинг (
TerrainComp). Измененные секторы автоматически пересчитываются и обновляются. - Плавный спавн флоры (Vegetation Slicing): Спавн деревьев, пней и кустов больше не вешает игру при входе в новый сектор — он распределяется небольшими порциями по кадрам с сохранением детерминированного сида мира.
- Оптимизация Clutter: Оптимизирует дистанцию и плотность отрисовки процедурной травы и камней.
🏰 Статический батчинг баз и мега-построек
- Объединение геометрии по секторам: Объединяет статичные элементы построек базы в единые оптимизированные сетки Unity (
StaticBatchingUtility) внутри зон 64x64 м. Снижает количество Draw Calls на крупных базах с нескольких тысяч до считанных десятков. - Якоря баз и кроватей (F7): Автоматически определяет спальные места или сохраняет позиции по нажатию F7. При возвращении домой запускает объединение с задержкой стабилизации после стройки.
- Интеллектуальный черный список: Никогда не объединяет сундуки, двери, верстаки, порталы, кровати, костры, вывески, лодки и повозки.
- Троттлинг нагрузки построек: Снижает частоту постоянных проверок опоры
WearNTearдля статичных завершенных зданий.
🎨 Графика, текстуры и фоновые LOD-модели
- Фоновая генерация LOD: Многопоточный генератор уровней детализации (QEM Decimation) анализирует тяжелые модели без оригинальных LOD-ов и создает легковесные варианты LOD1 и LOD2 прямо во время игры.
- Кэширование моделей на диске: Готовые LOD-меши сохраняются в папку
BepInEx/cache/VPO/, благодаря чему расчет для каждого объекта происходит только один раз. - Нативный GPU Instancing: Принудительно включает флаг Instancing на совместимых материалах мира для пакетного рендеринга объектов в один проход видеокарты.
- Аппаратный куллинг света (CullingGroup): Использует аппаратный API сфер видимости движка Unity для полного отключения скрытых за стенами или находящихся вне экрана источников света и скриптов мерцания факелов.
- Mipmap Streaming текстур: Динамически управляет мип-уровнями текстур в зависимости от дистанции до камеры и выделенного бюджета VRAM. Предусмотрен ручной множитель даунскейла для слабых видеокарт.
- Оптимизированный кэш камеры: Запоминает ссылку на
Camera.mainи плоскости усечения (Frustum Planes) один раз за кадр, исключая тысячи медленных внутренних вызовов движка.
🐺 ИИ существ, физический LOD и сон питомцев
- Замедление далекого ИИ: Снижает частоту обновления логики поиска целей и ориентации для существ, находящихся вне зоны активного боя с игроком.
- Планировщик поиска путей (Pathfinding Scheduler): Ограничивает одновременные расчеты навигационной сетки до заданного лимита за кадр, устраняя лаги от толп мобов.
- LOD физики персонажей: Далекие существа пропускают тики
FixedUpdate, расчеты наклона на неровностях и проверку глубины воды, если стоят на месте. - Энергосберегающий сон питомцев: Прирученные животные (кабаны, волки, локсы) внутри защищенного периметра базы переходят в режим глубокого покоя: у них отключаются тики ИИ, аниматоры, физические тела и коллизии. Животные мгновенно просыпаются при приближении игрока или получении любого урона.
💨 Оптимизация частиц, факелов и дыма
- Легкая аэродинамика дыма: Полностью переработана физика дымовых клубов костров: уменьшена масса, скорректировано сопротивление воздуха, убраны тяжелые просчеты столкновения дыма с дымом и установлен глобальный лимит частиц.
- Оптимизация огня и факелов: Отключает вылет лишних искр, углей и светящихся точек у настенных факелов, люстр и жаровен, сокращая время жизни пламени для разгрузки видеокарты.
- Пул объектов (Object Pooling): Эффекты попадания стрел (
vfx_arrowhit), ударов и искр больше не создаются и не уничтожаются через тяжелыеInstantiate/Destroy, а мгновенно переиспользуются из пула памяти. - Дистанционный куллинг эмиттеров: Автоматически снижает эмиссию или отключает далекие партиклы (с надежной защитой телепортов и ключевых сюжетных объектов).
🌐 Сеть, миникарта и предгенератор мира (Chunky)
- Повышенная пропускная способность: Расширяет лимит отправки сокетов
ZSteamSocketдо 512 КБ/с, устраняя рассинхронизацию на заселенных серверах. - Умная приоритезация пакетов ZDO: Сетевые пакеты игроков, кораблей и активных порталов всегда отсылаются в первую очередь.
- Троттлинг меток карты: Оптимизирует частоту обновления динамических пинов миникарты (раз в 4 кадра).
- Фоновый предгенератор мира Chunky: Консольный инструмент для заблаговременной плавной генерации мира вокруг игрока по спирали.
⌨️ Команды консоли Chunky (Консоль F5):
vpo_chunky_start <радиус> - Начать предгенерацию мира по спирали (например: vpo_chunky_start 10, макс. 40)
vpo_chunky_stop - Принудительно остановить текущую предгенерацию
vpo_chunky_status - Показать статус, текущую зону, прогресс и средний FPS
Примечание: Chunky автоматически становится на паузу, если текущий FPS падает ниже установленного вами порога.
🛡️ Динамический щит совместимости (Mod Conflict Guard)
VPO разработан с прицелом на стабильную работу в сборках из сотен модов. Защитник совместимости работает на двух уровнях:
- Глубокий динамический аудит Harmony: Напрямую опрашивает рантайм-реестр игры. Если сторонний мод перехватывает метод через Prefix или Transpiler (например, полностью подменяя ИИ или ландшафт), VPO автоматически изолирует и отключает соответствующий подмодуль, предотвращая поломку логики или краш.
- База встроенных правил:
- Expand World: Автоматически отключает кэш ландшафта и оптимизацию спавна растений VPO, передавая полный контроль Expand World.
- Creature Level and Loot Control (CLLC): Передает управление спавном, способностями и логикой атак модулям CLLC.
- ValheimRAFT: Отключает объединение статических сеток и физический LOD рядом с плавучими базами.
- PlanBuild: Отключает батчинг чертежей и полупрозрачных призрачных построек.
📥 Установка
Через менеджер модов (Рекомендуется)
- Установите r2modman или Thunderstore Mod Manager.
- Найдите в поиске Valheim Performance Overhaul от автора Skarif.
- Нажмите Download with Dependencies и запускайте игру.
Вручную
- Убедитесь, что у вас установлен BepInExPack Valheim.
- Скачайте архив мода и распакуйте содержимое в папку: Valheim/BepInEx/plugins/.
- Запустите игру и нажмите F6 для проверки работы!
⚙️ Конфигурация
Файл настроек создается автоматически по пути: Valheim/BepInEx/config/com.Skarif.ValheimPerformanceOverhaul_WATER.cfg
Любые параметры можно менять на лету прямо в игре через меню на клавишу F6 без перезапуска клиента.
💬 Контакты и поддержка разработчика
Discord: skarif_q
Steam: Skarif_W