You are viewing a potentially older version of this package. View all versions.
davidsv-ShorterLoading-1.2.0 icon

ShorterLoading

Up to 16x faster: world loading, respawns, portal trips, teleports, sleep.

By davidsv
Date uploaded a week ago
Version 1.2.0
Download link davidsv-ShorterLoading-1.2.0.zip
Downloads 455
Dependency string davidsv-ShorterLoading-1.2.0

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

ShorterLoading

ShorterLoading cuts the waiting in Valheim: starting the game, entering a world and respawning after death. It also shortens portal trips and sleep, and fixes slow devcommands map teleports.

Timings

Measured on one PC at a large base:

Game ShorterLoading Faster
Entering a world (Start to standing) 32 s 7 s 5×
Dying to standing at your bed 28 s 5 s 6×
Portal trip to an unloaded area 22 s 2.5 s 9×
Devcommands map teleport, unloaded area 23 s 2.5 s 9×
Devcommands map teleport, loaded area 8 s 0.5 s 16×
Dungeon entrance 2 s 0.5 s 4×
Sleep 12.5 s 5.5 s 2×
Sleep with a dream text 12 s 8.5 s 1.5×

Features

Spawning

  • Applies when entering a world and when respawning at your bed.
  • Skip fixed wait: the game always waits at least 8 s before placing you, even once everything has loaded. This places you as soon as the ground, the nearby objects and your bed are there (in multiplayer, also once objects stop arriving from the server).
  • Zone rush: behind the loading screen, the game builds one zone of ground every 0.1 s. This builds as many ready zones each frame as fit in 50 ms.
  • Object rush: behind the loading screen, creates as many objects (buildings, items, creatures) each frame as fit in 50 ms, instead of the game's 100 at a time.
  • Load less first: only the objects near you load before you appear; the rest of the base loads in around you afterwards.
  • Sap extractor catch-up: fixes a pre-existing game bug that can lose the sap made while you were away. Now instantly checks for new sap. No extra sap; dry roots still stop extractors.
  • Death delay: shortens the time you lie dead before the respawn starts.

Teleports

  • Map teleport: devcommands teleports (Ctrl + middle-click on the large map, and goto) end as soon as the area has loaded, in the same spot as without the mod.
  • Portal waits*: moves you as soon as the screen is black and ends the trip once the exit is ready, instead of after fixed waits (on someone else's server, once the exit's objects are there too).
  • Portal fade and portal cooldown*: shorter than the game's.
  • Portal loading rush*: the spawn rushes also work while a portal trip loads the exit.
  • Portal preload*: builds the ground at the other end while you stand near a connected portal.
  • Quick position update*: in multiplayer, tells the server about a teleport at once instead of within 2 s, so the server sends the new area sooner.
  • Server send boost*: on the host, for a few seconds after a player joins or teleports (portals too), sends them the objects around them faster.

World loading

  • Fast lake merge: the game plans the world's lakes and rivers on every world load, mostly by a slow search. This searches only nearby points, with the same lakes and rivers as a result.
  • Biome map on all cores: the game computes the world's biome map on one CPU core on every world load. This uses all cores, and starts it early so the world load doesn't wait for it. Same map as the game's.

Menus

  • Skip splash screens: hides the Coffee Stain and Iron Gate logos at game start.
  • Main menu fade-in: shortens the main menu's fade-in when it first appears.
  • Menu fade after pressing Start: shortens the menu's fade-out before the world loads.

Sleep

  • Needs ShorterLoading on the host, or single player.
  • Faster sleep: the game skips the night slowly and checks only every 2 s whether everyone is in bed and whether the night is over. This skips it faster and checks more often. Plants, smelters and the like reach the same morning.
  • Dream reading time: when a dream text shows, you keep sleeping until it has been readable for 3 s. Dream cutscenes play to the end.
  • Sleep fade: shortens the fade to black and back in.
  • Always dream: optional, off by default: a dream text every night, to try the reading time.

Saving hold

  • Only in single player, or when you're alone in a world you host. The settings are under "General".
  • The game stays paused while it writes the world to disk. With the game paused, the save finishes sooner, and you get a short pause instead of the frame drops the game's save causes. "ShorterLoading: paused for a faster save" shows meanwhile, and it never waits longer than 5 s by default.
  • Pause during autosave: off by default, as the pause interrupts play. Pauses for the autosave (every 30 minutes), and for the save after sleep too.
  • Pause for the save after sleep: on by default. The screen is black then anyway; you wake up a moment later, once the world is saved.
  • Pause menu: open it during a save pause and the game stays paused under it, as usual; otherwise the pause ends by itself.

Streaming

  • Loading hang fix*: stops the loading screen hanging forever when an object near the spawn point vanished.
  • No terrain builder pause*: skips the game's short pause after building each zone of ground while more are waiting.
  • Terrain cache*: keeps the built ground of many more zones, so going back to an area doesn't build it again.
  • Dungeon spread*: places a dungeon's rooms over several frames instead of in one long frame.
  • Grass rebuild budget*: when the ground changes, rebuilds grass over several frames, nearest first, instead of in one frame.

Other

  • Loading hammer: loading screens show ShorterLoading's gold hammer instead of the game's stone one, so you can see it's at work ("General -> Loading hammer").
  • Always on: a fix for an error the game can throw when you leave a world or quit while a dungeon is still being placed.
  • If a feature fails, it falls back to the game's own behaviour, and the loading screen shows "N speedups off (after an error; see log)" until the game restarts.
  • Each feature can be turned off separately.

(Features marked *: the mod 'SteadyFrame' does them too; ShorterLoading defers to it if enabled.)

Using it with other mods

"General -> Other mods" decides how ShorterLoading treats other mods. The default, "Work alongside other mods", runs all of ShorterLoading, potentially adding patches to the same code areas as other mods. Most of the time this is harmless. It has one custom compatibility check for the 'SteadyFrame' mod where it leaves some overlapping functions to it, if installed.

To debug a clash, set it to "Step aside for other mods" (cautious mode). Every part of ShorterLoading whose game code another mod also changes will then switch itself off, the loading screen will show "N speedups off (cautious mode)", and the log will list which parts and why. Warning: this can make loading much slower, as it will also switch off parts that would have worked. Switch it back afterwards.

Installing

ShorterLoading is on Thunderstore and Hexium; install it from only one. To switch, use your mod manager's option for it, or uninstall the old copy first: both share a folder, so installing the new one first can delete the mod's files.

Settings

Settings are in BepInEx/config/davidsv.shorterloading.cfg, or in Configuration Manager. Changes apply at once, except Skip splash screens, which applies at the next game start.

  • 1 - General: Enabled, Loading hammer, Pause during autosave, Pause for the save after sleep, Maximum save pause, Other mods (work alongside other mods, or step aside for them (use for debugging - stepping aside can make loading much slower)).
  • 2 - Spawn: Skip fixed wait, Client quiet time, Client first wait, Death delay, Zone rush budget, Map teleport.
  • 3 - Objects: Object rush, Object rush budget, Object rush max per tick, Load less first, Load less first radius, Sap extractor catch-up.
  • 4 - World loading: Skip splash screens, Main menu fade-in time, Menu fade time, Biome map on all cores, Biome map early, Fast lake merge.
  • 5 - Sleep: Faster sleep, Dream reading time, Sleep fade time, Always dream.
  • 6 - Portals and streaming: Loading hang fix, No terrain builder pause, Terrain cache, Dungeon spread, Grass rebuild budget, Portal waits, Portal fade time, Portal cooldown, Portal loading rush, Portal preload, Quick position update, Server send boost. These turn themselves off while SteadyFrame does the same, whatever they are set to.
  • 7 - Diagnostics (optional, all off by default; you don't need them to use the mod): Log timing writes how long loading, respawns, portal trips, sleep and saves took, and whether sap extractors caught up on the time away, e.g. for a bug report. Check rivers and Check biome map are for confirming that ShorterLoading's faster river planning and biome map give exactly the game's result. While one of them is on, world loads take longer, because it computes everything both ways.

CHANGELOG

Changelog

1.2.0

New:

  • Faster saves. Added an option to auto-pause while saving, so saving can finish sooner overall. If enabled, the tradeoff is a slight interruption in play rather than the game's approach that causes frame drops (which were often unplayable anyway). Adds the following settings:
    • Pause during autosave: off by default, because it may be perceived as intrusive. When enabled, it also enables "Pause for the save after sleep".
    • Pause for the save after sleep: on by default. The screen is already black then, so the default is unintrusive; you wake up a moment later without frame drops.
    • Maximum save pause: 5 seconds by default. This is a fail-safe; it always unpauses as soon as the save completes.
  • A gold loading hammer. ShorterLoading's own hammer now spins on loading screens instead of the game's, so you can see it at work. You can switch it off in the settings.
  • A new "Other mods" setting to help track down clashes with other mods. Set it to "Step aside for other mods" and ShorterLoading switches off its own speedups wherever another mod changes the same part of the game, and the loading screen tells you how many are off. This can make loading much slower, so switch it back when you're done.
  • If a speedup switches itself off after an error, for example after a game update, the loading screen now tells you and the log says why.
  • More detail in the log about what ShorterLoading is doing, which helps with bug reports. With "Log timing" on, it also times each save.

Fixed:

  • ShorterLoading's own settings now apply cleanly if its config file is reloaded while the game is running.
  • No more errors when logging out while a dungeon is still being placed (the earlier fix missed this case).
  • The faster devcommands map teleport now lands exactly where the unmodded game would put you, only sooner. The goto command is now faster too.
  • The faster devcommands map teleport is now fast on steep ground too, where it could still take the full 15 seconds.
  • SteadyFrame compatibility: better detection of overlapping speedups to prevent cases where neither mod applied their fix.

Other:

  • Shorter README and setting descriptions.

1.1.0

  • Sap extractor catch-up: no more waiting at sap extractors for sap you already earned. A game bug (not caused by ShorterLoading) could drop the sap made while you were away; now it's there when you arrive. It gives no extra sap: the game's rates still apply, and extractors still stop when their root runs dry.
  • Log timing: a line per sap extractor saying whether it caught up on the time away.
  • README: rounded timings, and a softer note on switching sources.

1.0.1

  • README: install note for switching between Thunderstore and Hexium.

1.0.0

First release.

  • Shorter loading when entering a world and respawning after death.
  • Faster portal trips, dungeon entrances and devcommands map teleport.
  • Shorter sleep.
  • Faster world loading: lake merge, biome map on all cores, shorter menu fades.
  • Optional diagnostics: timing log, river and biome map checks.