边缘世界 RimWorld

边缘世界 RimWorld

Priority Treatment Ressurected
Rovstam 9 月 3 日 上午 10:39
MapComponentTick: checking for treatable pawns causes massive lag spikes
Logs: (no errors-white things) https://gist.github.com/HugsLibRecordKeeper/be155281e8ff9b19995ad12fd95ed3fe

Why does the mod check so compulsively for available doctors? It's rather unnescessary tbh, and just causes lag spikes.

1. MapComponentTick: checking for treatable pawns
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
TKS_PriorityTreatment.TKS_PriorityTreatment:DebugMessage (string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:282)
TKS_PriorityTreatment.MapComponent_PriorityTreatment:MapComponentTick () (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:148)
Verse.MapComponentUtility:MapComponentTick (Verse.Map)
Verse.Map:MapPostTick ()
Verse.TickManager:DoSingleTick ()
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

2. MapComponent: found 0 pawns to tend on map Map-12-PlayerHome
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
TKS_PriorityTreatment.TKS_PriorityTreatment:DebugMessage (string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:282)
TKS_PriorityTreatment.MapComponent_PriorityTreatment:SomeoneNeedsTreatment () (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:238)
TKS_PriorityTreatment.MapComponent_PriorityTreatment:MapComponentTick () (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:166)
Verse.MapComponentUtility:MapComponentTick (Verse.Map)
Verse.Map:MapPostTick ()
Verse.TickManager:DoSingleTick ()
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

3. TickRare: Yefim 'Yefim' Smanate is an available doctor
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
TKS_PriorityTreatment.TKS_PriorityTreatment:DebugMessage (string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:282)
TKS_PriorityTreatment.TKS_PriorityTreatment:PawnIsDoctor (Verse.Pawn,string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:590)
TKS_PriorityTreatment.Pawn_Patches:TickRare_Prefix (Verse.Pawn&) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:703)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn.TickRare_Patch1 (Verse.Pawn)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn.Tick_Patch1 (Verse.Pawn)
Verse.Thing:DoTick ()
Verse.TickList:Tick ()
Verse.TickManager:DoSingleTick ()
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

4. TryFindAndStartJob: Yefim 'Yefim' Smanate is an available doctor
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
TKS_PriorityTreatment.TKS_PriorityTreatment:DebugMessage (string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:282)
TKS_PriorityTreatment.TKS_PriorityTreatment:PawnIsDoctor (Verse.Pawn,string) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:590)
TKS_PriorityTreatment.Pawn_JobTracker_Patches:TryFindAndStartJob_prefix (Verse.AI.Pawn_JobTracker&) (at F:/SteamLibrary/steamapps/common/RimWorld/Mods/PriorityTreatmentRessurected/Source/PriorityTreatmentRessurected.cs:659)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.TryFindAndStartJob_Patch1 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.Pawn_JobTracker:JobTrackerTickInterval (int)
Verse.Pawn:TickInterval (int)
Verse.Thing:DoTick ()
Verse.TickList:Tick ()
Verse.TickManager:DoSingleTick ()
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

This continues on and on and on. With every pawn i have. Not ideal.
< >
正在显示第 1 - 3 条,共 3 条留言
Rovstam 9 月 3 日 上午 10:44 
♥♥♥♥♥♥♥♥♥ yes, this mod is the culprit. Please, optimize it, i love the mod a lot but the code is insane.
-=JkJkLoL=- tk421storm  [开发者] 9 月 4 日 上午 9:23 
i'l check to make sure the game doesn't look for doctors if there's no one to tend, but the BG check for patients is kind of the whole mod
Rovstam 9 月 4 日 上午 10:10 
Yes... i'm sorry i was kinda pissed, i love the mod, but the implementation is due to optimize. Thanks author.
< >
正在显示第 1 - 3 条,共 3 条留言
每页显示数: 1530 50