Welcoming
Updated a day agoLitePerf Wiki
LitePerf is a BONELAB performance mod made for low end GPUs like the RX 5600 and below. It reduces stutter and memory use without changing how the game looks.
Contents
- Overview
- Requirements
- Installation
- How it works
- Tweaks in detail
- BoneMenu
- Config file
- Compatibility
- FAQ
- Troubleshooting
- Building from source
- Known limits
Overview
LitePerf only does things that do not change visuals. It never touches render scale, upscaling, resolution, shadows, LOD bias, texture quality, anti aliasing, vsync, target framerate or physics timestep. Those are left to BoneBoost, BoneFPS and BonelabFSR.
What you should expect is smoother gameplay with fewer hitches and lower memory use. Do not expect a big jump in average fps.
Requirements
| Requirement | Version |
|---|---|
| BONELAB | PC version |
| MelonLoader | 0.6.5 or newer on the 0.6 line |
| BoneLib | Needed for the in game menu |
LitePerf will not load without MelonLoader 0.6.5 or newer and BoneLib.
Installation
- Install MelonLoader 0.6.5 and BoneLib.
- Put
LitePerf.dllin your BONELABModsfolder. - Launch the game.
- Check the MelonLoader console for a line starting with
LitePerf loaded. - Open BoneMenu and look for the LitePerf page.
The .pdb file is optional. It only gives better line numbers in error logs.
How it works
- Game start. LitePerf checks which other mods are loaded, applies the startup tweaks, and builds its BoneMenu page.
- Every level load. It turns on occlusion culling for active cameras and starts the cleanup timer.
- After the cleanup delay. It frees unused assets and runs a quick garbage collection.
LitePerf loads late (high mod priority) so it applies after other mods instead of fighting them.
Tweaks in detail
Incremental GC
- Config key:
IncrementalGC - Default: on
- What it does: Turns garbage collection on and limits it to 2 ms of work per frame, so memory cleanup is spread out instead of freezing the game in one big spike.
- Good for: Stutter caused by garbage collection.
- Downside: If the game already does this, the gain is small. If the setting is not supported on your build, LitePerf logs a warning and skips it.
Scene Cleanup
- Config key:
SceneCleanup - Default: on
- What it does: After a level loads, waits for the cleanup delay, then unloads unused assets and runs a quick garbage collection.
- Good for: Freeing leftover textures and meshes from the previous level. This helps most on 6 GB cards.
- Downside: It can cause one tiny hitch when it runs. That is why there is a delay.
Cleanup Delay
- Config key:
CleanupDelaySeconds - Default: 4 seconds
- Range in menu: 1 to 15
- What it does: How long to wait after a level loads before Scene Cleanup runs. Raise it if you feel a hitch right after loading in.
Cut Log Spam
- Config key:
CutLogSpam - Default: on
- What it does: Turns off stack traces for normal logs and warnings.
- Good for: Saving CPU in heavily modded games that spam the log.
- Downside: Log lines have no stack trace for normal messages. Errors are not affected.
Async Upload Tuning
- Config key:
AsyncUploadTuning - Default: on
- What it does: Sets texture and mesh uploads to 2 ms per frame with a 32 MB buffer that stays allocated.
- Good for: Smoother loading when new objects stream in.
- Downside: Uses about 32 MB of extra RAM. Textures may appear a little later during heavy loads.
Particle Raycast Budget
- Config key:
ParticleRaycastBudget - Default: on
- What it does: Lowers the budget for particle collision raycasts to 256.
- Good for: Scenes with lots of particles that collide with the world.
- Downside: Some colliding particles may behave slightly differently.
Occlusion Culling
- Config key:
OcclusionCulling - Default: on
- What it does: Turns on occlusion culling for every active camera when a level loads.
- Good for: Levels that have baked occlusion data, since hidden objects are skipped.
- Downside: Does nothing on levels without occlusion data. Cameras created after the level loads are not affected.
BoneMenu
Every tweak has a toggle under LitePerf in BoneMenu, plus a slider for the cleanup delay. Changes are saved to the config file right away.
| Toggle | Takes effect |
|---|---|
| Incremental GC | When turned on |
| Scene Cleanup | Immediately, both ways |
| Cut Log Spam | When turned on |
| Async Upload Tuning | When turned on |
| Particle Raycast Budget | When turned on |
| Occlusion Culling | Next level load |
Turning a tweak off does not undo it for the current session. Restart the game to fully revert it. Scene Cleanup is the exception because it just stops running.
If BoneMenu fails to build for any reason, LitePerf logs a warning and keeps working from the config file.
Config file
Settings are saved by MelonLoader in UserData\MelonPreferences.cfg under the LitePerf category.
| Key | Type | Default |
|---|---|---|
IncrementalGC |
true / false | true |
SceneCleanup |
true / false | true |
CutLogSpam |
true / false | true |
AsyncUploadTuning |
true / false | true |
ParticleRaycastBudget |
true / false | true |
OcclusionCulling |
true / false | true |
CleanupDelaySeconds |
number | 4 |
Edit the file with the game closed, then launch.
Compatibility
LitePerf is made to run next to BoneBoost, BoneFPS and BonelabFSR.
- It does not change any setting those mods control.
- On startup it checks which of them are loaded and prints the result to the MelonLoader console. This is only for info and does not change behavior.
- It loads late so it applies after other mods.
FAQ
Will it lower my visual quality? No. It does not touch any visual setting.
Will it give me more fps? Mostly it reduces stutter and smooths loading. Average fps will not change much.
Is it safe to use with FSR? Yes. It does not touch upscaling or render scale.
Is it only for RX 5600 and below? It was made with those cards in mind, mainly for the 6 GB VRAM limit, but it works on any PC.
Does it work on Quest? No, this is for the PC version.
Can I turn off one tweak? Yes, use the BoneMenu toggle or the config file.
Troubleshooting
LitePerf does not show up in the console.
Make sure LitePerf.dll is in the Mods folder, MelonLoader is 0.6.5 or newer on the 0.6 line, and BoneLib is installed.
No LitePerf page in BoneMenu. Check the console for a line saying BoneMenu setup failed. Your BoneLib version may be too old or too new for the menu code. The mod still works from the config file.
Hitch right after loading into a level. Raise the Cleanup Delay, or turn off Scene Cleanup.
Warning about incremental GC. Your build does not support it. The mod skips that tweak and the rest still work.
Something looks wrong with the game. Turn off tweaks one by one to find the cause. Starting with Occlusion Culling and Particle Raycast Budget is a good idea.
Building from source
- Install the .NET 6 SDK or newer.
- Launch BONELAB once with MelonLoader so the
Il2CppAssembliesfolder is created. - Put
BoneLib.dllin your BONELABModsfolder. - Open
LitePerf.csprojand setBonelabPathto your BONELAB folder, not the exe. - Run
dotnet build -c Releasein the project folder. - The dll is copied into
Modsautomatically, or find it inbin\Release\net6.0.
Known limits
- The mod has not been tested across many PCs, so gains vary.
- Menu code is written for the newer BoneLib 3.x menu system.
- Some tweaks depend on what the game and Unity build support. Unsupported ones are skipped with a warning.
Made by Devonte.