[A16] Better Pathfinding (v1.5.2 update 2/22)

Started by Zhentar, October 02, 2016, 07:43:01 PM

Previous topic - Next topic

Zhentar


Alenerel

In some scenarios it lags like hell, I think it gets stuck somewhere. I have experienced it two times, but it ended up solving itself before I thought of saving it.

hiepbg

Sometime my colonist freeze when they build the war or haul stone block to the pending wall.
And the game start lagging.

I'm using lastest version.

Zhentar

Is there anything in the dev mode log/output_log.txt?

hiepbg

Quote from: Zhentar on November 14, 2016, 01:26:48 PM
Is there anything in the dev mode log/output_log.txt?

Yes.  There is it.

[attachment deleted by admin due to age]

Zhentar

Looking at the code, I can't see any way this mod would cause that exception (even though it is pathing related, the exception would have to be caused by an invalid Pawn, from my understanding of it). If you share your save file & mods folder with me, I can investigate further.

hiepbg

Quote from: Zhentar on November 15, 2016, 01:44:47 PM
Looking at the code, I can't see any way this mod would cause that exception (even though it is pathing related, the exception would have to be caused by an invalid Pawn, from my understanding of it). If you share your save file & mods folder with me, I can investigate further.

Sr, but i don't keep the save file.
I remember when i enable debugger option, it shows:

QuoteException ticking Camiño: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.PawnUtility.AnyPawnBlockingPathAt (IntVec3 c, Verse.Pawn forPawn, Boolean actAsIfHadCollideWithPawnsJob, Boolean collideOnlyWithStandingPawns) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.NeedNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Trobo: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.PawnUtility.AnyPawnBlockingPathAt (IntVec3 c, Verse.Pawn forPawn, Boolean actAsIfHadCollideWithPawnsJob, Boolean collideOnlyWithStandingPawns) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.NeedNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

katjezz

Same Issue here, it completely destroys my FPS down to like 3 or 4.

Quote(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Orange: System.NullReferenceException: Object reference not set to an instance of an object
  at BetterPathfinding.RegionLinkDijkstra.RegionLinkPathCostInfo (Verse.Region region, Verse.RegionLink minLink, BetterPathfinding.RegionLinkPathCostInfo& result) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionLinkDijkstra.GetNextRegionOverDistance (Verse.Region region, System.Nullable`1& secondBest) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionPathCostHeuristic.GetPathCostToRegion (Int32 cellIndex) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder.FindPathInner (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode, HeuristicMode mode) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder._FindPath (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.PathFinder.FindPath (IntVec3 start, TargetInfo dest, Verse.Pawn pawn, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.GenerateNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TrySetNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Orange: System.NullReferenceException: Object reference not set to an instance of an object
  at BetterPathfinding.RegionLinkDijkstra.RegionLinkPathCostInfo (Verse.Region region, Verse.RegionLink minLink, BetterPathfinding.RegionLinkPathCostInfo& result) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionLinkDijkstra.GetNextRegionOverDistance (Verse.Region region, System.Nullable`1& secondBest) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionPathCostHeuristic.GetPathCostToRegion (Int32 cellIndex) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder.FindPathInner (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode, HeuristicMode mode) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder._FindPath (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.PathFinder.FindPath (IntVec3 start, TargetInfo dest, Verse.Pawn pawn, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.GenerateNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TrySetNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Orange: System.NullReferenceException: Object reference not set to an instance of an object
  at BetterPathfinding.RegionLinkDijkstra.RegionLinkPathCostInfo (Verse.Region region, Verse.RegionLink minLink, BetterPathfinding.RegionLinkPathCostInfo& result) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionLinkDijkstra.GetNextRegionOverDistance (Verse.Region region, System.Nullable`1& secondBest) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionPathCostHeuristic.GetPathCostToRegion (Int32 cellIndex) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder.FindPathInner (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode, HeuristicMode mode) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder._FindPath (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.PathFinder.FindPath (IntVec3 start, TargetInfo dest, Verse.Pawn pawn, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.GenerateNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TrySetNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Orange: System.NullReferenceException: Object reference not set to an instance of an object
  at BetterPathfinding.RegionLinkDijkstra.RegionLinkPathCostInfo (Verse.Region region, Verse.RegionLink minLink, BetterPathfinding.RegionLinkPathCostInfo& result) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionLinkDijkstra.GetNextRegionOverDistance (Verse.Region region, System.Nullable`1& secondBest) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionPathCostHeuristic.GetPathCostToRegion (Int32 cellIndex) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder.FindPathInner (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode, HeuristicMode mode) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder._FindPath (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.PathFinder.FindPath (IntVec3 start, TargetInfo dest, Verse.Pawn pawn, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.GenerateNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TrySetNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Exception ticking Orange: System.NullReferenceException: Object reference not set to an instance of an object
  at BetterPathfinding.RegionLinkDijkstra.RegionLinkPathCostInfo (Verse.Region region, Verse.RegionLink minLink, BetterPathfinding.RegionLinkPathCostInfo& result) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionLinkDijkstra.GetNextRegionOverDistance (Verse.Region region, System.Nullable`1& secondBest) [0x00000] in <filename unknown>:0
  at BetterPathfinding.RegionPathCostHeuristic.GetPathCostToRegion (Int32 cellIndex) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder.FindPathInner (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode, HeuristicMode mode) [0x00000] in <filename unknown>:0
  at BetterPathfinding.PathFinder._FindPath (IntVec3 start, TargetInfo dest, TraverseParms traverseParms, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.PathFinder.FindPath (IntVec3 start, TargetInfo dest, Verse.Pawn pawn, PathEndMode peMode) [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.GenerateNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TrySetNewPath () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.TryEnterNextPathCell () [0x00000] in <filename unknown>:0
  at Verse.AI.Pawn_PathFollower.PatherTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

mabor0shi

Hey Zhentar, I want to complain too! I tried to set this thread to 'unnotify', but I keep getting notified anyway. I am always seeing people complain about this great mod and it is driving me insane. Better Pathfinding is fantastic, I'm sick of this negativity. I'm feeling very negative about it. Better Pathfinding is doing a lot of good and it's time somebody stood up and said something about it >:( I just wanted to bring some positivity to this thread.
Cool Mod, Bro Everything in RimWorld doesn't have to be either brown or grey anymore: Now you can Pick a Color!

Seinne

Didn't know you were getting shit on, so I'll voice my support too. Great mod, and I never drop below 60fps ever.
Using this with at least 3 dozen mods also, no errors form this mod.

Knedl

I vote for support too, this is a MUST mod so keep up the awesome work. In regards to two previous bug posts - it happened to me that when you have an area where you set up roof to be build but the pawn can't get to that tile this is what happened. So check if you have any inacessible build roof spots. Sometimes there is also an error when two pawns want to get a meal from the same tile in the same tick. My guess is that pawn wants to build roof but can't get to it. Hope it helps.

biship


hiepbg

Even the best software still has some bugs. Reporting bugs only make this mod greater more :D

There is no negativity here. Please do keep supporting it :D

PaoLorenz

So far I did not experience anything negative... and my silly pawns stopped wading through marsh water instead of circling the small body of water to get to their destination.
I am content, by far.
Will stay alert for any potential bug, but with a "normal" PC and like 40 mods, still all works smoothly.
Thank you !

mabor0shi

Quote from: hiepbg on November 18, 2016, 08:11:04 AM
Even the best software still has some bugs. Reporting bugs only make this mod greater more :D

There is no negativity here. Please do keep supporting it :D
No negativity here now :P Of course people should report bugs, but I have never seen so much reporting for one mod. I'm sure that's due to the complexity of it (Tynan even asked how it works). IMHO we should show more appreciation for the mods we like as well as report problems.
Cool Mod, Bro Everything in RimWorld doesn't have to be either brown or grey anymore: Now you can Pick a Color!