Darkstar Utilities compatibility and performance update - discontinued


Original mod has been modified for compatibility-conflict resolution, mod-integration, and performance improvement by usafphoenix. v16 version is available on nekomancer's site. this fork for performance troubleshooting will no longer be maintained.

7 years ago
0.15
4

i Love the changes, a few ideas

7 years ago

A side thought, would you add in the terra tech belt pieces, ie the splitters and undergrounds and loaders, absolutely the loaders! Also if not already done would you make the tesla coils work together as a system vs individuals! Super excited for this redo, one of my favorite mods and sad that it was not optimized thanks for all the work on it!

cagorathe

7 years ago
(updated 7 years ago)

are these items that were in nekomancer's original mod? I don't seem to recall it having loaders, if not, i'll have to create texture/graphics files for the items before i go in and add the code
the tesla coils have a wire reach of 0, so they will not connect together, i'll look into the performance hit of adding a "wire reach" and see if it's possible to do it without actually rendering a wire, because the tesla coils SHOULDN'T have wires between them, cause that'd be dumb [they are meant to be wireless].
The tradeoff of fixing all the performance issues with the mod was that the electric poles (the source of the problem) had to be nerf'd pretty badly, with that being the case, it may actually mean it makes more sense to remove the tesla coil. Which...i've considered, but haven't pulled the trigger on that because i'm not sure what the factorio community thinks of that sort of "fix" solution.

7 years ago

to understand why, you must first understand that the source of the lag was the electric poles the mod added having a much larger radius then the game is designed to cope with. the way the logic works for machines seeking energy is every machine has to search "x" distance from its center to locate a power pole, where "X" is the largest integer found in the table that contains all electric pole supply radius'.
Basically, if the pole with the largest radius is 100, then all machines have to search 100 blocks in all four directions to see if they are being powered, if there is a pole that services 900 blocks, then each machine on the map must search 900 blocks in all four directions to see if it is being powered. the logic in the game is, essentially backwards... (this would not cause lag if, instead, electric poles PUSHED power to all machine buffers until the machine was full, or the pole no longer had a supply of power...then if the machine is able to run, it does so---else it stops functioning...but this would require a pretty big re-write on the factorio team's side.... so i don't see them tackling this issue anytime soon.

7 years ago

it may not seem like a difference: "machines seeking for, and then pulling power out of an e electrical grid" vs "power poles pushing power into any machines within their service area that are not already fully powered", but computationally, it is different. the first method greatly taxes the CPU because machine 1 searches for a pole, finds power, grabs power, but does not communicate to machine number 2 that there is a pole nearby...so machine number 2 also has to search its entire area until it finds a pole that can supply it with power.
it may sound abstract, but....when another modder/factorio enthusiast pointed me in the right direction, it was a pretty quick fix to just tune the electric poles way down....and then all the performance issues were basically fixed.

....but the way the tesla coil was invisioned....it isn't MEANT to connect to other tesla coils. so i'm not sure what the best solution here is.

New response