RimWorld

RimWorld

Raise The Roof 1.4
Anna Yanami 14. maj 2020 kl. 7:23
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.
< >
Viser 1-14 af 14 kommentarer
DosTacos 15. maj 2020 kl. 7:41 
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. juni 2020 kl. 10:59 
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. juni 2020 kl. 14:30 
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.
Oprindeligt skrevet af 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 kl. 12:18 
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. okt. 2020 kl. 4:44 
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 kl. 10:08 
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 kl. 19:38 
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 kl. 22:22 
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.
Sidst redigeret af Andy; 17. jan. 2021 kl. 19:24
Angel 5. mar. 2021 kl. 2:51 
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  [udvikler] 28. apr. 2021 kl. 14:48 
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 kl. 15:10 
Are the performance drop issues still occurring?
MapleSierrap 1. maj 2023 kl. 5:29 
Oprindeligt skrevet af 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 kl. 19:31 
Oprindeligt skrevet af 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 ()
Sidst redigeret af c0de; 30. jan. 2024 kl. 6:10
< >
Viser 1-14 af 14 kommentarer
Per side: 1530 50