You are viewing a potentially older version of this package. View all versions.
Groove_Salad-RiskOfWaiting-2.0.0 icon

RiskOfWaiting

Launch the game posthaste with these sexy startup optimizations

Date uploaded a day ago
Version 2.0.0
Download link Groove_Salad-RiskOfWaiting-2.0.0.zip
Downloads 869
Dependency string Groove_Salad-RiskOfWaiting-2.0.0

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2121 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2121

README

Risk of Waiting

Load the game faster, thanks to some good old-fashioned optimization and caching!

Risk of Waiting makes no meaningful changes to startup functionality, and is intended to be compatible with every mod.

Cache Files

This mod stores cache files in your Risk of Rain 2 folder, under /RiskofWaitingReduxData/. They are tiny files (>1 KB per mod) and always safe to delete.

Overview

A brief overview of the improvements included in this mod, for fellow mod devs and other interested persons. See the source code at https://github.com/Priscillalala/RiskOfWaitingRedux (MIT licensed)

Process Problem Improvement
PostProcessManager* Scans EVERY assembly in the domain for post process effects Only scan assemblies that reference Unity.Postprocessing.Runtime; exclude MMHOOK assemblies
EntityStateCatalog Waits for the next frame too often while applying entity state configurations Yield less often
SearchableAttribute Uses a lot of reflection to scan types and members for attributes Cache the search
ConVars Uses a lot of reflection to scan fields and methods for ConVars Cache the search

*This mod also includes a cache system for the PostProcessManager; however, the performance gains are nominal compared to any other improvement

Additionally, the following AchievementManager improvements were originally built for this mod but got added to RoR2BepInExPack instead. See the PR at https://github.com/risk-of-thunder/RoR2BepInExPack/pull/48

Process Problem Improvement
AchievementManager Waits for the next frame after processing EACH achievement type Yield each time 100 achievements are registered
AchievementManager Scans assemblies which will never contain achievements Only scan assemblies that reference RoR2; exclude MMHOOK assemblies and RoR2BepInExPack

Contact

You can find me in the RoR2 Modding Server @groove_salad

Or, you can post issues and feedback on the GitHub

Donations

If this mod saved a few minutes of your life, consider buying me a coffee!

Buy Me A Coffee

CHANGELOG

Changelog

2.0.0

Completely rewrote the mod with a focus on tangible optimizations and caching; it is much faster now!

Added

  • Optimize PostProcessManager initialization
  • Implement PostProcessManager cache
  • Implement SearchableAttribute cache
  • Implement ConVar cache
  • Optimize EntityStateCatalog initialization

Removed

  • Remove everything from version 1.0.0

1.0.0

Initial release