RimWorld

RimWorld

Raise The Roof 1.4
Anna Yanami 14 May, 2020 @ 7:23am
Major performance issues using this mod.
In general, steel roofs, and other roofs in this mod cause major performance issues when using Dub's analyzer.
< >
Showing 1-14 of 14 comments
DosTacos 15 May, 2020 @ 7:41am 
I just want to chip in here and say that I'm getting 2-3 min freezes and/or crashes when building a transparent roof with this mod. I don't have an answer as if this is a problem on my end (load order/compatability) or not.

One thing I've noticed is that the pawns will bring resources to the build site, drop them, the game freezes, and then either hangs for a long time or crashes.
#6 9 Jun, 2020 @ 10:59am 
I've had this mod in my load order for a while with no problems however today I started my first roofing project. I started making a solar roof and noticed some slowdown in the game, at one point I noticed that pawns would construct a single tile of roof and then freeze in place for a minute. Here is a log while this was occurring: log[gist.github.com]
#6 9 Jun, 2020 @ 2:30pm 
So the problem I've been having seems to be related to Misc Robots. When my builder robots are trying to do the roof building that's when I get the slowdown. When I disable the robots my pawns are able to build without the slowdown.
Originally posted by Sixdd:
So the problem I've been having seems to be related to Misc Robots. When my builder robots are trying to do the roof building that's when I get the slowdown. When I disable the robots my pawns are able to build without the slowdown.
I'm having this issue now but with vanilla pawns and can't for the life of me figure out what's going on.

"Could not reserve Thing_Frame_RTR_SteelRoof6921364 (layer: null) for Kit for job FinishFrame (Job_18480882) A=Thing_Frame_RTR_SteelRoof6921364 (now doing job FinishFrame (Job_18480882) A=Thing_Frame_RTR_SteelRoof6921364(curToil=-1)) for maxPawns 1 and stackCount -1. Existing reserver: Alice doing job FinishFrame (Job_18478859) A=Thing_Frame_RTR_SteelRoof6921364 (toilIndex=0)
Verse.Log:Verse.Log.Warning_Patch1(String, Boolean)
Verse.AI.ReservationManager:Verse.AI.ReservationManager.LogCouldNotReserveError_Patch0(ReservationManager, Pawn, Job, LocalTargetInfo, Int32, Int32, ReservationLayerDef)
Verse.AI.ReservationManager:Verse.AI.ReservationManager.Reserve_Patch1(ReservationManager, Pawn, Job, LocalTargetInfo, Int32, Int32, ReservationLayerDef, Boolean)
Verse.AI.ReservationUtility:Reserve(Pawn, LocalTargetInfo, Job, Int32, Int32, ReservationLayerDef, Boolean)
RimWorld.JobDriver_ConstructFinishFrame:TryMakePreToilReservations(Boolean)
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1(Pawn_JobTracker, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch0(Pawn_JobTracker, JobCondition, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch1(Pawn)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

TryMakePreToilReservations() returned false for a non-queued job right after StartJob(). This should have been checked before. curJob=FinishFrame (Job_18480882) A=Thing_Frame_RTR_SteelRoof6921364
Verse.Log:Verse.Log.Warning_Patch1(String, Boolean)
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1(Pawn_JobTracker, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch0(Pawn_JobTracker, JobCondition, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch1(Pawn)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()"

This doesn't sound like a mod incompatibility to me but I could be wrong?
Any ideas?
Kalisa 28 Sep, 2020 @ 12:18pm 
got the same issue as well, was not sure it was a mod compatability or not since i have so many mods, but was trying to build a steel roof and my pawns would pause for several seconds in between roof tiles, and when i checked error log, was just getting spammed by that error, they slowly built the roof, but it really caused a slow down during it.
The Lovely Duck 31 Oct, 2020 @ 4:44am 
Just wanted to chip in and say that I'm having major performance issues when building lots of solar roof tiles.
Arvay6 2 Nov, 2020 @ 10:08am 
Same with this mod, also my colonists will just stand there a lot of the time when I place roofs to be constructed and I have to manually tell them to build them.
reth 16 Nov, 2020 @ 7:38pm 
the reason colonists just stand there during construction is due to the mentioned exception being throw, which is also a cause of lag. I was building steel roof (cost reduced to 10) and was constantly getting this exception with about 5 builders. To be clear, was the only performance issue during construction?
Andy 31 Dec, 2020 @ 10:22pm 
I get performance issues as well, but only when adding or removing power generating buildings to a power network that has a massive number of solar roofing tiles.

Like say, building additional solar roofing, or just installing a vanometric power cell.

This performance issue does not occur with entirely separate power networks. I suspect this is either because each solar roofing tile behaves like a conduit, or because the game wasn't designed for the sheer number of individual power generating buildings that results from covering a large base with solar roofing.

If the cause is the latter, then it might be solved by increasing the size of solar generating roofs from 1x1 to 3x3 or larger, and disallowing them from overlapping.
If the cause is the former, I have no idea how to solve the issue that wouldn't involve a significant rework of how this mod works.

Edit: Did some testing, and it turns out both factors contribute to the performance issues. The fact that solar roofs act as conduits and are each an individual power generating building causes the game to hang when there's thousands of them.

I tested this by building several thousand tiles of conduits and separately, several hundred power generating buildings on a separate network. In both cases, adding onto the already large power network causes the game to hang for a noticeable amount of time, increasing with network size. The effect was more pronounced with the power generating buildings.

Not quite sure how one would rectify this.
Would it be possible to count the number of solar roofing tiles that are adjacent to each other, and then have them output power from a single building? A solar power transformer or something. That would solve the issue with them all behaving as conduits, but I have to wonder what kind of performance impact such a scheme would have.
Last edited by Andy; 17 Jan, 2021 @ 7:24pm
Angel 5 Mar, 2021 @ 2:51am 
Just to be clear, does this also add lag after installation with the panels just running, or is it only with grid activity that this adds lag?
Machine  [developer] 28 Apr, 2021 @ 2:48pm 
I may revisit this plugin and see what can be done with performance issues. I guess it was never intended to place solar roofs over a huge swath of area and is more suited for backup power system depending on the processing power of your PC.
Crimson 7 Feb, 2023 @ 3:10pm 
Are the performance drop issues still occurring?
MapleSierrap 1 May, 2023 @ 5:29am 
Originally posted by Machine:
I may revisit this plugin and see what can be done with performance issues. I guess it was never intended to place solar roofs over a huge swath of area and is more suited for backup power system depending on the processing power of your PC.
Might be worth visiting Dub's Discord if you haven't already. Someone made a patch for your mod a while back that addresses some performance issues.
c0de 29 Jan, 2024 @ 7:31pm 
Originally posted by Machine:
I may revisit this plugin and see what can be done with performance issues. I guess it was never intended to place solar roofs over a huge swath of area and is more suited for backup power system depending on the processing power of your PC.
i keep getting error about same power net on same node errors filling my log. im guessing has to do with large base having solar roofs. does it have to do with solar roof over another power producing item? like reactor/battery/etc.
edit: here is the actual error i keep getting. i have removed tons of the solar roof over power sources, except batteries still working on that one


Two power nets on the same cell (270, 177). First transmitters: Power conduit and Power conduit.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Warning (string)
RimWorld.PowerNetGrid:Notify_PowerNetCreated (RimWorld.PowerNet)
RimWorld.PowerNetManager:RegisterPowerNet (RimWorld.PowerNet)
RimWorld.PowerNetManager:TryCreateNetAt (Verse.IntVec3)
RimWorld.PowerNetManager:UpdatePowerNetsAndConnections_First ()
(wrapper dynamic-method) Verse.Map:Verse.Map.FinalizeInit_Patch2 (Verse.Map)
Verse.Map:FinalizeLoading ()
(wrapper dynamic-method) Verse.Game:Verse.Game.LoadGame_Patch1 (Verse.Game)
(wrapper dynamic-method) Verse.SavedGameLoaderNow:Verse.SavedGameLoaderNow.LoadGameFromSaveFileNow_Patch1 (string)
Verse.Root_Play/<>c:<Start>b__1_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
Last edited by c0de; 30 Jan, 2024 @ 6:10am
< >
Showing 1-14 of 14 comments
Per page: 1530 50