Garry's Mod

Garry's Mod

239 ratings
Lithium: Actual Garry's Mod FPS Boost
5
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Tool
Addon Tags: Build
File Size
Posted
Updated
78.677 KB
20 Sep, 2024 @ 7:13am
22 Jan @ 4:29pm
35 Change Notes ( view )

Subscribe to download
Lithium: Actual Garry's Mod FPS Boost

Description
Lithium is in it's WIP stage. Do not expect much from it right now!
Github[github.com] - Bugreports, Feature requests, contributions.
Description
Lithium is a multipurpose multirealm performance improvement addon aimed at trying to optimise gmod's parts that can be accessed through addons as much as possible.
This addon will improve your performance, especially with poorly-written addons.

Dependencies
NikNaks - BSP Reader for "Last Resort" aka "FPS Maxxing" system. Does not impact performance when idle.

Where do I config it?
There is a special menu in Utilities tab where you can configure lithium specifically for you. See Utilities -> Lithium.

I have a problem, How Do I Turn It Off?
Use convars lithium_enabled_cl and lithium_enabled_sv to disable lithium on either client or server (set both to enable/disable on both). Also, report the problem, providing a log in the github issues or down in the comments.
Also, if you want to disable one particular system, you can create file with name lithium_dontload.txt in folder garrysmod/data with content yes to stop lithium from loading.

Known incompabilities and issues
- ANY mod that modifies hook table. That means that at the moment this is incompatible with DLIb and similar addons.
- Exception: This mod is compatible with ULX and ULib.

Features
- New hook system (see what it means below).
- Better Rendering (see what it means below).
- Automatic garbage collection.
- Improved some render calls, Material, GetConVar, CreateConVar calls.
- GPU Saver when out-of-focus.

FAQ
Q: What does "new hook system" means?
A: TL;DR: This makes Garry's mod faster. Lithium provides a drop-in hook module replacement which ranks at about 40% best-case and 25% average performance increase in C++ -> Lua tests. Hooks are an essential part of Garry's mod which allow addons to "hook into" events that game calls from time to time. While some hooks are called just once in a while, others can be called multiple times every frame, so optimised hook module can give anywhere from 0 improvement to "the best you would even imagine".
Q: How exactly did you made "rendering" "better"?
A: By default, Garry's Mod renders entities even if they are not realistically visible, e.g. behind a wall or another entity. That too costs some performance, so, lithium disables rendering of entities that are not actually visible. That by itself can gain about 50 fps on busy servers
Popular Discussions View All (2)
0
23 Feb @ 6:39am
Editing bones being broken
Auditor Cat
0
16 Feb @ 6:58pm
Bugs(?)
LOL DUDE
180 Comments
Light 15 May @ 5:37am 
This plugin is not compatible with MWb's mod.:steamsad:
leszek 27 Apr @ 8:24am 
why does it break gm++
Construct 27 Mar @ 8:11pm 
Sorry if this is annoying, but it spams errors when a NPC dies and drops their weapon
Redox 7 Mar @ 7:15am 
why does this set gmod_mcore_test to 0, this will literally lower your fps rather than boost it???
Onlooker 5 Mar @ 8:20am 
я нашел баг при котором когда ты убиваешь npc то на какое-то время остается его модель и баг с hud из мода ARC9
Agent228 20 Feb @ 9:26am 
overlay, shaders,effects isn't working with this addon pls fix
LOL DUDE 16 Feb @ 6:59pm 
I had some more bug(?) to report, so I made a discussion of them.
LOL DUDE 16 Feb @ 6:31pm 
Is there a list of the variables that the "Optimised ConVars" setting changes? I think that one of them is causing a weird animation bug for me, where my viewmodel's current animation will freeze if the game is paused and then unpaused, though returning to normal when the next animation plays.
Сукальпач 6 Feb @ 6:42pm 
Баг с пропами когда их ставлю моделька не отображается помогите пофиксить
WhangaTy 4 Feb @ 1:13am 
[Lithium: Actual Garry's Mod FPS Boost] lua/lithium/extensions/client/be_render.lua:134: attempt to compare number with nil
1. CalculateRenderablesVisibility - lua/lithium/extensions/client/be_render.lua:134
2. CallPart - lua/lithium/extensions/client/be_render.lua:165
3. unknown - lua/includes/modules/hook_lithium.lua:177 (x142)