NSB-MEL_Performance icon

MEL Performance

Más FPS en bases grandes: menos tirones al llegar a la base y en la limpieza de cada hora, tope de sombras de antorchas y medidor A/B. Solo cliente. Viene apagado: se enciende en Ajustes → Accesibilidad. Experimental.

By NSB
Last updated 2 weeks ago
Total downloads 96
Total rating 0 
Categories Mods Tweaks Client-side
Dependency string NSB-MEL_Performance-0.1.0
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
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.2351

README

MEL Performance

Mod de FPS para el cliente de Valheim, pensado para bases grandes (muchas piezas, antorchas y hogueras). Experimental, solo cliente y opcional: no cambia el juego ni manda nada al servidor, y se puede jugar con o sin él en el mismo servidor. GUID vsm.perf. Funciona solo (no necesita ningún otro mod) y se integra con MEL Horizons si está instalado.

Qué esperar (honesto)

Valheim ya hace por su cuenta lo fácil: límite y prioridad de luces y sombras, hierba instanciada, actualización centralizada de componentes, recolección de basura incremental y escala de resolución. Por eso un "OptiFine" no da 2–5x en todas partes:

Situación Ganancia realista
Base grande (10 000–25 000 piezas, muchas antorchas) 2x–4x, con la fase 2 (combinar mallas). Esta versión ataca sombras y tirones
Base limitada por lógica (cofres, criaturas, física) 10–30 %
Explorando 0–15 % de media; sobre todo menos tirones
Limitado por la tarjeta gráfica (4K, SSAO) grande solo bajando la resolución 3D

Por eso lo primero que trae el mod es cómo medirlo (benchmark reproducible y A/B): cada mejora se puede encender y apagar en caliente y comparar.

Encenderlo

Viene apagado: apagado, el juego queda exactamente como sin el mod. Se enciende en Ajustes → Accesibilidad → "MEL Performance (más FPS)" (con su ayuda al pasar el ratón), en F1 (Enabled) o con vsm_perf on en la consola.

Qué hace (0.1.0)

Con el interruptor encendido, cada mejora tiene su propia opción (F1 o BepInEx/config/vsm.perf.cfg):

Mejora Config Por defecto
La limpieza de assets de cada hora (congelón de 0,1–0,5 s) se aplaza a un momento tranquilo: menú, inventario, durmiendo, pantalla de carga o 30 s sin tocar nada (como mucho una hora más) DeferAssetUnload sí
Tope de luces puntuales con sombra (cada una son 6 caras de sombra): se quedan con sombra las que más se ven y la que te ilumina; al resto se le quita solo mientras se dibuja el frame (el sigilo no cambia) PointShadowBudget 4 (-1 = juego)
Resolución de esas sombras según la distancia PointShadowResolution Vanilla
Sombra del sol de objetos chicos (objetos tirados, decoración, antorchas, alfombras) solo hasta N m SunSmallShadowCull 0 (juego)
Distancia de las sombras del sol SunShadowDistance 0 (juego)
Cámara sin textura de normales (experimental) DepthNormalsOff no
Al llegar a una base, crear objetos con presupuesto de ms por tanda (menos tirones), nunca más de 1,5 s más lento que el juego SpawnBudgetMs, SpawnMaxExtraDelaySeconds 4 ms, 1,5 s

Nada de esto toca objetos de red, la simulación ni la lógica del juego.

Instalar

  • Con Thunderstore Mod Manager o r2modman: buscar MEL_Performance. Solo necesita BepInExPack_Valheim.
  • MEL Modpack ya lo trae como dependencia (apagado): cada jugador decide si lo enciende.
  • Es solo de cliente: el servidor no lo necesita. En un servidor con vsm.guard, el servidor tiene que ser de una versión que acepte vsm.perf como opcional (MEL Modpack 0.1.21 o posterior).

Medir (con el mod encendido)

  • Ctrl+F9: medidor (FPS, 1 % y 0,1 % low, peor frame, draw calls, lotes, SetPass, triángulos, objetos que proyectan sombra, basura por frame, piezas, objetos por crear, luces y sombras, MEL Horizons).
  • vsm_perf bench marcar base (en la consola, F5) guarda tu posición y hacia dónde miras; vsm_perf bench base espera a que la base termine de cargar, calienta 5 s y mide 30 s girando la cámara siempre igual. Resultado en BepInEx/config/vsm.perf/bench_resumen.csv y un CSV por frame en bench/.
  • vsm_perf ab sombras base compara A (como el juego) y B (con la mejora) en secuencia ABBA, sin guardar la config. Mejoras: sombras, resolucion, depthnormals, solchicos, soldistancia, spawn, horizon (B = MEL Horizons apagado: cuánto cuesta).
  • vsm_perf diff <mejora> captura A y B en el mismo frame y cuenta los píxeles distintos (PNG en diff/).
  • vsm_perf prof on mide cuántos ms por frame se lleva cada sistema del juego (humo, sonidos, luces, IA, carga de objetos, MEL Horizons…); vsm_perf prof muestra el ranking.
  • vsm_perf contadores, vsm_perf dump, vsm_perf ayuda.

Con MEL Horizons

  • Se detecta solo (sin dependencia). El medidor y el benchmark muestran su estado, escala, instancias y draw calls; el instrumentador mide su costo.
  • Hay un solo modo adaptativo por FPS: el de Horizons. Durante un benchmark se fija (escala 1) para que todas las corridas dibujen lo mismo, y después vuelve a como estaba.
  • La creación de objetos por presupuesto nunca se atrasa más del 10 % de lo que Horizons espera antes de guardar una zona, para que no recuerde bases a medio cargar.
  • MEL Performance no toca lo que usa Horizons: plano lejano de la cámara, lodBias, terreno lejano ni distancia de simulación.

Hoja de ruta

  • Fase 2: combinar las mallas de las piezas por celdas de 16 m (la mejora grande en bases; 2x–4x según otros mods). Al golpear, reparar, mojar o construir, la celda vuelve a las piezas originales al instante.
  • Fase 3: apagar luces tapadas por paredes y agrupar antorchas lejanas en una sola luz sin sombra.

Para desarrolladores

Carpeta perf/ del repo: dotnet build perf\VSM.Perf.slnx, dotnet test perf\VSM.Perf.slnx --no-build, powershell -File perf\tools\pack_perf.ps1. Un solo DLL sin dependencias del modpack.