Welcoming

Updated a day ago

LitePerf 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

  1. Overview
  2. Requirements
  3. Installation
  4. How it works
  5. Tweaks in detail
  6. BoneMenu
  7. Config file
  8. Compatibility
  9. FAQ
  10. Troubleshooting
  11. Building from source
  12. 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

  1. Install MelonLoader 0.6.5 and BoneLib.
  2. Put LitePerf.dll in your BONELAB Mods folder.
  3. Launch the game.
  4. Check the MelonLoader console for a line starting with LitePerf loaded.
  5. 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

  1. Game start. LitePerf checks which other mods are loaded, applies the startup tweaks, and builds its BoneMenu page.
  2. Every level load. It turns on occlusion culling for active cameras and starts the cleanup timer.
  3. 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

  1. Install the .NET 6 SDK or newer.
  2. Launch BONELAB once with MelonLoader so the Il2CppAssemblies folder is created.
  3. Put BoneLib.dll in your BONELAB Mods folder.
  4. Open LitePerf.csproj and set BonelabPath to your BONELAB folder, not the exe.
  5. Run dotnet build -c Release in the project folder.
  6. The dll is copied into Mods automatically, or find it in bin\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.

Pages