Level Load

emkuai

Level Load

A few optimizations to speed up loading a level.

Important disclaimers!

  • Optimizations can be messed up by other mods that touch gameplay logic. This mod works best alone, but it shouldn't ever make loading times worse. Feel free to let me know of any mods that make this mod ineffective, but be warned that it may be unresolvable.
  • I can't test on all platforms for all hardware; optimizations might lose their effectiveness compared to the environment I develop this mod in. Please let me know if this mod seems to not work for you!

Optimizations

  • Objects are created by first parsing a line of the level string as key-value pairs, then translating those pairs to properties of the object. Now, the parsing is done in a separate thread. This provides a decent speedup to most levels, though it can vary.
  • That translation to actual properties repeats "Is this key present? Then parse the value as the appropriate type, else use a default" many times. Now, for known key-value pairs, this computation is done in the parsing thread, balancing work. The translation step can then just directly use the computed value. This provides some more speedup, like above.

The below have niche impacts

  • When playing an online level (as opposed to an editor or official level), the code that updates the circular progress bar also only runs one "create objects" step per frame. Now, this step is repeated for the length of a frame to avoid idle time. To be honest this is really only noticeable on high-end systems running at 60hz, playing low-end high object count levels.
  • A piece of level setup code has quadratic-time performance... if you have a group with a ton of decorative objects that is targeted by a rotate or scale trigger. Now, this code runs in linearithmic time. The only level I am aware of that this noticeably impacts is LIMBO (this causes the long wait at the end of the progress bar), though it helps a lot!

1.1.2

  • Compatibility: prevent crash if processCreateObjectsFromSetup is called extraneously

1.1.1

  • Incorporate completed bindings (now supports all platforms)
  • Fix minor bugs

1.1.0

  • Multithread parsing objects
  • Avoid idle time when loading an online level

1.0.0

  • Initial release
The recommended way to install mods is through the in-game mod loader . You will have to manually install the .geode files you get from this page.

Some mods also require other mods as dependencies ; you will need to find and install them yourself.

Site made by HJfod . Thank you to nekit for the domain!

Geode Team 2025