bdew-minecraft / pressure

Pressure Pipes mod
18 stars 10 forks source link

Load Lag #93

Closed Utildayael closed 7 years ago

Utildayael commented 7 years ago

I'm going to preface this with "I don't really know how to properly report this" so please bear with me.

It appears on our server when you first go to an area with pressure pipes and the chunks load, the game literally freezes for 5 seconds or so. Large base? You'll have a couple of those. It only happens to those of us who use PP.

I thought it was me at first as I have tanks, pipes, etc... the works. Couple other guys have just basic pipes and same problem so it seems to be the high pressure pipes.

I have no way that I'm aware of to really provide quantitative data on this so anything I can give you that might help I'm happy to get.

MC 1.10.2 Forge 2221 [we just updated Forge, did it on prior version as well] Pressure Pipes 1.3.1.22

Cheers

bdew commented 7 years ago

Do you run any of my other mods and if you do does it happen with them? Does it happen only when the first area with Pressure Pipes is loaded or for every one of them?

It might be just "normal" lazy class loading. Java only loads stuff when it needs it, and when you initialy load up a chunk with pressure pipes it might cause a lot of class loading (from the mod itself, bdlib, and if it's your only scala mod - the scala standard library). Having many core mods, or core mods with slow class transformers might also make this worse. There isn't much i can do about it.

It also might be PP constructing it's network. The system is built to front-load the heavy processing so it does all it's calculation when tiles are placed or loaded to keep load low when it's actually used. This is something i would like to improve where i can, but i don't have immediate solutions.

If it's the later, splitting large PP networks into smaller ones might help, especially if you have monstrosities with hundreds of inputs/outputs. Strategic placing of check valves or routers might help too.

Utildayael commented 7 years ago

It's part of a pack but I did some checking and I'm only connecting Pressure Pipes parts to the following mods:

Happens wth every single area as it is loaded the first time only and happens to each player independently. If I load in the area I get freeze immediately or if I load somewhere else and go to that area, freeze. My network is fairly complex and uses almost every type of piece in your mod so I thought complexity might be an issue. Lots of input/output/tanks/pumps/Mek gas connectors/etc. However, two of my server mates have significantly less and are only using basic parts and no tanks in much smaller setups but have same issue.

Only coremod is Forge.

So ya I think it's exactly as you described, the initial heavy lifting upfront as it's perfectly fine after that. The only time I get a big freeze is if I hook up a very large tank to the network it (usually) will freeze up to 10 seconds. This would be like a solar evap tower from Mek (4M mb) or dynamic tank, demon drum, etc. basically anything that the network can instantly fill. I can live with that tho as it's not often I'm adding such stuff. Oddly the PP tanks don't offer that stutter no matter how big they are, even max size.

Anywho, sounds like you're aware of the problem! If there is anything I can provide in happy to do so.

Cheers

On Jan 21, 2017, at 3:59 AM, bdew notifications@github.com wrote:

Do you run any of my other mods and if you do does it happen with them? Does it happen only when the first area with Pressure Pipes is loaded or for every one of them?

It might be just "normal" lazy class loading. Java only loads stuff when it needs it, and when you initialy load up a chunk with pressure pipes it might cause a lot of class loading (from the mod itself, bdlib, and if it's your only scala mod - the scala standard library). Having many core mods, or core mods with slow class transformers might also make this worse. There isn't much i can do about it.

It also might be PP constructing it's network. The system is built to front-load the heavy processing so it does all it's calculation when tiles are placed or loaded to keep load low when it's actually used. This is something i would like to improve where i can, but i don't have immediate solutions.

If it's the later, splitting large PP networks into smaller ones might help, especially if you have monstrosities with hundreds of inputs/outputs. Strategic placing of check valves or routers might help too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

bdew commented 7 years ago

I'm closing this issue as part of a spring cleaning of my issue trackers from old stuff.

If you believe it's a bug that is still relevant in Minecraft 1.12 - Feel free to reopen it.