Ducts cause Lagspikes!
SonOfTheStars opened this issue ยท 11 comments
Having TD Ducts instead of a Basic-Pipe in an Intersection causes the Client/Server to find the Route using TD Routing, wich is fine by itself.
But if hooked by LP, it causes a lagspike wich exponetially grows the more Intersections there are.
@davboecki you saw my Crafting setup in the Server World I passed to you...
It was basicly a Giant Lagspike Generator! All those connections not being Basic Pipes but Warpducts instead made for up to 6 seconds of completely locking the server, if you only issued a One-task craft.
It totally shrekt the server!
Even the few Warpducts being intersections at my chests(6) allready caused 2 Seconds response time.
I just swopped them out for all basic pipes in the Intersections and im Lagfree again.
BTW to those who think im dumb not using basic pipes @davboecki and I actually had a Chat where he promised me that it would work fine without them.
Guess the Profiler lied @davboecki...seems like we have to profile again.
@Bitterholz Can you test if this helps: https://dl.dropboxusercontent.com/u/33855125/LogisticsPipes/logisticspipes-0.9.0.testbuild.jar. And can you test that build for other crafting related bugs as well. It should also fix problems with fuzzy crafting. (It also includes a null check to fix your other crash)
@davboecki Fuzzy crafting is still broken. Its not pulling items out even though ther valid items now get supplied.
Thanks @davboecki ! Goonna test right away!
I think ill spend the night Building a Enormous LP system just for testing purpose :D
@davboecki first one:
http://pastebin.com/XAwNWFm2
Remember that currently the result needs to match exactly. So e.g. crafting wood from a different type won't work. [For now. that's part of the reason for my work on the RequestTreeNode]
I can confirm your changes seem to have fixed the issue almost completely!
Crafting still needs to be looked at.
This: https://github.com/RS485/LogisticsPipes/blob/mc17-0.9/common/logisticspipes/proxy/td/TDDuctInformationProvider.java#L175 needs to be cached and maybe this too: https://github.com/RS485/LogisticsPipes/blob/mc17-0.9/common/logisticspipes/proxy/td/TDDuctInformationProvider.java#L146 (for the other implementations as well)