RimWorld

RimWorld

Big and Small - Framework
Message spammed impacts performance lowering TPS with only 3 pawns
Despite having cleared the console logs, the 'message limit reached' warning persisted with no other errors or warnings visible. This issue caused my TPS to drop significantly from 800 to 300, which led me to enable verbose logging. Once enabled, I discovered the message was being spammed like 15-20 times per second (there is no crash)
--- Main thread ---
0.028ms (self: 0.027 ms) ExecuteToExecuteWhenFinished()
- 0.001ms (2.9%) (self: 0.001 ms) Verse.PawnRenderer -> Void <SetAllGraphicsDirty>b__62_0()


Hotspot analysis
----------------------------------------
1x ExecuteToExecuteWhenFinished() -> 0.027 ms (total (w/children): 0.028 ms)
1x Verse.PawnRenderer -> Void <SetAllGraphicsDirty>b__62_0() -> 0.001 ms (total (w/children): 0.001 ms)

UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Verse.ThreadLocalDeepProfiler:Output (Verse.ThreadLocalDeepProfiler/Watcher)
Verse.ThreadLocalDeepProfiler:End ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.DeepProfiler.End_Patch1 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:ExecuteWhenFinished (System.Action)
Verse.PawnRenderer:SetAllGraphicsDirty ()
BetterPrerequisites.NotifyGenesChanges:Notify_GenesChanged_Postfix (Verse.GeneDef,RimWorld.Pawn_GeneTracker)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:RimWorld.Pawn_GeneTracker.Notify_GenesChanged_Patch3 (RimWorld.Pawn_GeneTracker,Verse.GeneDef)
BigAndSmall.BigAndSmallCache:SlowUpdate (int)
BigAndSmall.BigAndSmallCache:GameComponentTick ()
Verse.GameComponentUtility:GameComponentTick ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()
< >
Showing 1-2 of 2 comments
RedMattis  [developer] 5 Jun @ 9:59am 
Your log is full of some sort of audio errors?

C:\buildslave\unity\build\Modules/Audio/Public/sound/SoundChannel.cpp(418) : Error executing m_FMODChannel->setFrequency(m_Pitch * m_DopplerPitch * m_BaseFrequency) (The specified channel has been reused to play another sound. )
(Filename: Line: 15)

C:\buildslave\unity\build\Modules/Audio/Public/sound/SoundChannel.cpp(152) : Error executing m_FMODChannel->isPlaying(playing) (The specified channel has been reused to play another sound. )
(Filename: Line: 15)

(repeats)

That said...

What seems to be happening is that the genes on a pawn has changed (for some reason or another), and a "SetAllGraphicsDirty" is being run.

"SetAllGraphicsDirty" is a vanilla rimworld function. If it is silently failing then I would suspect another mod. I'm pretty sure I don't have any empty try/catch statements or the like in code that should run.

I'd suggest doing a bit of binary testing on your modlist to try to figure out what mod combination is causing that interaction.

You could also try asking at Dub's Discord they are pretty well versed in anything performance, including weird silent errors like that.
< >
Showing 1-2 of 2 comments
Per page: 1530 50