RimWorld

RimWorld

3,537 ratings
Performance Optimizer
36
16
22
4
12
6
5
2
6
5
4
2
3
2
2
2
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.2, 1.3, 1.4, 1.5, 1.6
File Size
Posted
Updated
570.063 KB
Nov 26, 2021 @ 8:09am
Jul 23 @ 11:54pm
59 Change Notes ( view )

Subscribe to download
Performance Optimizer

Description


Performance Optimizer is a mod, which adds various performance tweaks to the game. Its goal is to boost your game performance to some degree if you are already struggling with it. With this mod, you might expect about 20-35% of performance gains, but it largely depends on your modlist and current TPS. The number of 20-35% gain is taken from about a dozen reports from different players who were playtesting the mod. In your case, it can be more or less depending on the mod list and your PC. The mod is compatible with Rocketman and Rim73 and is generally loaded bottom in mod order.


- Several UI elements will be hidden until you hover on them, which should save some FPS and TPS. Currently, resource readouts, bottom button bar, right overlay buttons, speed buttons were made hidden. Alerts are minimized (only important and medium will be shown) until hovered. These features are disabled by default in the mod settings.
- Faster GetComp replacements.
- About 20+ vanilla methods are cached or throttled and some will be recalculated only in N refresh rates.
- Possibility to disable sounds completely if you don't need them or you want to save some TPS. By default, it's off.
- The mod comes with mod settings where you can configure and disable/enable everything in the mod.


RocketMan - a great performance mod, which is must-have for everyone!
[LTO] Colony Groups - a colonist bar mod which is more performant than the vanilla colonist bar and faster if you use its grouping functionality and hide your pawns within them.
Toggleable Overlays - helps with performance by skipping drawing overlays.
Toggleable Readouts - optimizes vanilla readouts list drawing.
Dubs Performance Analyzer - a performance analyzing tool which has some performance tweaks included.


• 26/11/2021 - Initial release


At the moment, none. If you have a bug, please submit a proper bug report with a Hugslib log.


RimThreaded - reportedly incompatible, use it at your risk.
Static Quality Plus - there is an issue with preventing crafting notifications, which doesn't work. I tried to look into it and it's impossible to fix, because the mod doesn't use Harmony, but own detouring code which is destructive. Ask them to use Harmony and the issue will be gone.

The mod was written with mod compatibility in mind, so it should generally not conflict with mods, but if you know of an incompatible mod, please submit a bug report!

[ko-fi.com]


C# work - Taranchuk
Mod preview - Madman666
Harmony - Andreas Pardeike
RimWorld is owned by Tynan Sylvester.


MIT License[github.com]
Source code on Github repo[github.com]
The repo is open for collaboration, if you want to add your own performance tweaks to the mod, you can make a PR to the repo and I will merge them if they are done non-destructively and speed up the game.

Popular Discussions View All (6)
166
Aug 17 @ 3:29pm
PINNED: Bug reports
Taranchuk
19
Oct 16, 2024 @ 9:18am
Stop disabling the UI by default
Anna Yanami
9
May 19, 2022 @ 5:06am
Rimthreaded compatibility
Anna Yanami
605 Comments
DAOWAce Sep 18 @ 9:28pm 
Suppose it's a testament to what's FINALLY been done in vanilla with performance optimization and multithreading.

There's still work to do, for sure, but man is the game far more playable than it used to be, even with many stacked performance mods.

Only downside is lots of mod authors ceased maintaining their mods, and we lost some great people.

The real problem I've been seeing over time is the mod maintenance part: There are many mods that are bare minimum compatibility updates and still written in the old days, causing either performance, stability or compatibility issues; sometimes all 3. Not much folk like us can do about that besides o7 and retire a mod we loved.
Falkner Sep 17 @ 2:57pm 
Sorry Taranchuck, this is broken for me as of 1.6 - Whatever the cache functions are doing is intermittently spiking the tps and causing framerate stutters, theres also a drop in tps. My fps is steady with no stutters when I remove this mod. Respect for what you did, as this mod was a must have in 1.5 but i'm having better performace without this in 1.6.
Alniyat Sep 11 @ 9:27am 
had to delete part of last comment to get it to fit [Ref D0FC8EB3]
at Verse.EdificeGrid.get_Item (Verse.IntVec3 c) [0x00017] in <24d25868955f4df08b02c73b55f389fe>:0
at Verse.GridsUtility.GetEdifice (Verse.IntVec3 c, Verse.Map map) [0x00000] in <24d25868955f4df08b02c73b55f389fe>:0
at RimWorld.SectionLayer_GravshipHull.ShouldDrawCornerPiece (Verse.IntVec3 pos, Verse.Map map, Verse.TerrainGrid terrGrid, RimWorld.SectionLayer_GravshipHull+CornerType& cornerType, UnityEngine.Color& color) [0x0000f] in <24d25868955f4df08b02c73b55f389fe>:0
at RimWorld.SectionLayer_GravshipHull.BakeGravshipIndoorMesh (Verse.Map map, Verse.CellRect bounds, UnityEngine.Vector3 center) [0x00022] in <24d25868955f4df08b02c73b55f389fe>:0
at Verse.WorldComponent_GravshipController+<>c__DisplayClass51_0.<OnGravshipCaptureComplete>b__2 () [0x00039] in <24d25868955f4df08b02c73b55f389fe>:0
Alniyat Sep 11 @ 9:27am 
Hey im unable to launch my ship; was wondering if this mod was the cause as its listed in my log?
Exception from long event: System.IndexOutOfRangeException: Index was outside the bounds of the array.

- TRANSPILER PerformanceOptimizer.Main: IEnumerable`1 PerformanceOptimizer.Optimization_FasterGetCompReplacement:Transpiler(IEnumerable`1 instructions, MethodBase method)
at Verse.LongEventHandler.UpdateCurrentSynchronousEvent (System.Boolean& sceneChanged) [0x0001d] in <24d25868955f4df08b02c73b55f389fe>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch4 (string)
Verse.LongEventHandler:UpdateCurrentSynchronousEvent (bool&)
Verse.LongEventHandler:LongEventsUpdate (bool&)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.Update_Patch1 (Verse.Root)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)
GrobmotoriGER Sep 10 @ 2:15am 
@Macbuk Cant confirm or reproduce. Please describe your Incompatibility in more detail.
AJarOfDirt Sep 1 @ 1:40am 
Just turned off all the cache and throttle settings and my tps went up... Also getting less random red errors.
RavenousEye Aug 31 @ 5:47am 
@ジャッキー・ザ・トキ
rocketman is no longer required (and updated to 1.6), because the most important parts of it are now in vanilla.
Is this better in comparison to rocketman?
Tree Aug 22 @ 12:55am 
this mod gives me good results. incredible! :steamhappy::zagwow:
Macbuk Aug 18 @ 12:59pm 
Incompatible with semi random research