New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Builtin/../falling.lua: Do not call nodeupdate() on node punch #4632
Conversation
I'm neutral regarding this. |
What about @nerzhul's offer here? |
Worth considering, until then though we can use this PR. |
Is this noticeable at all? |
I've been quite vocal about my disapproval of this change :) The performance impact is entirely hypothetical, and it removes a fun and dangerous element from the game. |
@rubenwardy concerning noticeable #4620 (comment) |
You guys know though, that the primary instrumentation of the profiler are global callbacks like this very But no, profiling does not indicate an issue with it. Of course anyone disagreeing with the data is invited to review #4343 and the preceding PR for potential bugs, which i cannot rule out. |
What about when punching occurs in a huge volume of sand? there's a chain reaction through connected sand nodes. |
I'd like to see some profiler stats on this. Maybe with 20 players punching once a second in a desert. |
Punching a flat desert on Vanilla 5.1, GC, Singleplayer, without actual falling, Leaf decay for scale.
Stats of a day from a busy server would obviously provide much better insight in what might really benefit from optimization during normal operations, even though it would mix punching of falling and not falling nodes. |
Hmm that's surprisngly short, thanks. I won't get too concerned about this then and might close in a while if no extra support. |
Originally part of a pull request by tenplus1. Calling nodeupdate() on node punch was added for 0.4.14 stable. Each tool or hand punch was triggering nodeupdate_single() for neighbour nodes and a possible chain-reaction of nodeupdates through connected falling nodes. Now only nodeupdate() on place or dig node.
How often were you punching? Once a second? |
I assume you ask to interpret the data. So on average there was 1.1 punches per server step, whenever there was any punch at all. When leaf decay was in process, it run ~600 times on average, taking on average 42ms each time. |
We would really need information running server side with around 20 players running around punching all kinds of nodes to see it's improvement. Having the ability to disable this feature would be handy though. |
Closing. |
Originally part of a pull request by tenplus1.
Calling nodeupdate() on node punch was added for 0.4.14 stable.
Each tool or hand punch was triggering nodeupdate_single() for neighbour
nodes and a possible chain-reaction of nodeupdates through connected
falling nodes.
Now only nodeupdate() on place or dig node.
/////////////////////////////////////////////////////
Originally part of tenplus1's PR #4620 this has been split off into a seperate PR due to controversy and the need for more opinions.
See #4620 for the arguments for and against.
To be clear i approve this change.
@sfan5 do you still approve?