SonOfTheStars / Logistics-Pipes-2

MIT License
30 stars 7 forks source link

Shrouded Pipes for Lag Busting #16

Closed elektronemulo closed 6 years ago

elektronemulo commented 6 years ago

I would like to see some time of opaque or non-rendering pipe for efficiency/anti-lag.

A shrouded pipe could be opened with a right-click of the LP Shroud Wrench (a stretch of shrouded pipes could all be opened with a Shift+right-click) for trouble-shooting the pipe network.

All other attributes of the transparent pipes would apply to the shrouded pipes.

The purpose of the shrouded pipe is to reduce rendering (and lag) for stretches of pipe behind walls and for players who want to be server-friendly.

(My initial thought was to have the shrouded pipe be an alternative state of the primary pipe but I would want to shroud certain sections with the Shift+RClick action without affecting the entire network).

Open shrouded pipes would reset to their closed shrouding state when the chunk reloaded. (If someone forgot to close the shrouds and caused the server to lag, a server reset or other chunk reload would turn rendering back off).

elektronemulo commented 6 years ago

Also, I would like a way to convert a pipe to/from the shrouded version with a tool without breaking the pipe. Maybe right-click a placed pipe with the shroud crafting item to apply it to the pipe, right click with a pry-bar to remove the shroud and convert the pipe back to the transparent version?

SonOfTheStars commented 6 years ago

I was thinking of making an Opaque upgrade for the Network Core, stopping all connected pipes from rendering items.

That way you wouldnt have to tediously up and downgrade all pipes one by one.

loordgek commented 6 years ago

but you lose the whole point of LP then

SonOfTheStars commented 6 years ago

first we will have to see how badly the rendering affects your FPS tho. because I think we can get it to be pretty efficient.

The inefficient part about old LP was mainly the model itself, because all of it was rendered as a TESR.

We on the other hand, render our Pipes structure as a Static Model, meaning it has close to ZERO impact on the rendering performance, even on large scale networks.

The only bit that will be done in TESR(and maybe even in F-TESR), are the Items flowing.

SonOfTheStars commented 6 years ago

if we indeed discover that our efforts to conserve FPS work out the way we intend to(and there are a few), we might not even have the need for measures like shrouded pipes.

elektronemulo commented 6 years ago

Ah, nice. Though if you do include something like shrouded pipes, I was dreaming of leaving intersections (and a pipe or two close to the intersection) unshrouded and shrouding the parts that I can't see or long stretches that I don't care about. FWIW, I don't care if I have to adjust the pipes individually. 😁

SonOfTheStars commented 6 years ago

Tests of item Transfer have shown very minimal FPS impact even with lots of traveling items. For now, we will close this issue. But performance is allways in our focus. Thus this will be kept on the list of things to concider.

This issue is hereby closed, might be reopened later.