// Management · RimWorld Mod
Kingfisher
Kingfisher By tracing and measuring the vanilla source code and identifying performance bottlenecks, Kingfisher replaces them with more efficient implementations.
Kingfisher
By tracing and measuring the vanilla source code and identifying performance bottlenecks, Kingfisher replaces them with more efficient implementations. This makes TPS/FPS gains without side effects possible.Optimization Results
In a typical test environment, Kingfisher's patches themselves can achieve speedups of 2x ~ 25x. This will not translate as directly to overall TPS, because save states vary and optimization results are hard to generalize. If you are willing to provide a save from a near vanilla late game colony, that will help Kingfisher iterate on its optimization results.Technical Details
Kingfisher pursues zero runtime overhead, including: - Uses PurePatcher to inject fields and replace methods, avoiding extra call overhead. - Uses Publicizer to expose private fields, avoiding reflection overhead. - A conditionally compiled profiler, excluded from release builds.Patch List
## Combat & Target Finding
AttackTargetFinder.BestAttackTarget (FreePatch)
Hediff_Shambler.TickInterval
Hediff_Shambler.PreRemoved
Hediff_Shambler.Notify_DelayedAlert
## Thoughts & Social
PawnDiedOrDownedThoughtsUtility.RemoveLostThoughts (FreePatch)
PawnDiedOrDownedThoughtsUtility.RemoveResuedRelativeThought (FreePatch)
PawnDiedOrDownedThoughtsUtility.TryGiveThoughts (Prefix)
## Jobs & Work Scanning
WorkGiver_Scanner.PotentialWorkThingsGlobal (FreePatch)
CompRefuelable.PostSpawnSetup
CompRefuelable.PostDestroy
CompRefuelable.ConsumeFuel
CompRefuelable.Refuel
ThingComp.PostDeSpawn
## Buildings & Thing Lists
ListerThings.Remove (FreePatch)
ListerBuildings.AllBuildingsColonistOfDef (FreePatch)
ListerBuildings.ColonistsHaveBuilding (FreePatch)
ListerBuildings.ColonistsHaveBuildingWithPowerOn (FreePatch)
ListerBuildings.Remove
ListerBuildings.Add
## Health & Immunity
ImmunityHandler.NeededImmunitiesNow (FreePatch)
Kingfisher is still in development, and this list will be kept in sync with updates.