Add options to disable display entities ticking #10533
Replies: 13 comments
-
I can't really think of a scenario where you would have enough display entities for this to become relevant where you also don't require their passenger/vehicle ticking functionality |
Beta Was this translation helpful? Give feedback.
-
Custom crops, furniture, etc are our current use-cases. The former in particular leads to thousands of DEs being loaded. Our use-case is such that we are not using the display entities as passengers, nor as having passengers. |
Beta Was this translation helpful? Give feedback.
-
do you happen to have a profiler report? |
Beta Was this translation helpful? Give feedback.
-
In contrast to armor stands, which can be affected by collisions, gravity or flowing water, display entities do practically nothing in their tick method. Therefore, it really should not be necessary to prevent them from ticking. |
Beta Was this translation helpful? Give feedback.
-
I had a 40k display entities in the world and tps drops to 10 just because they exist. |
Beta Was this translation helpful? Give feedback.
-
Don't forget that entities have other lags than just ticking, for example they need always to calculate who can see them, and if they need to update their data to players Even if paper fully disables display entities ticking, 40k will still have a big impact on the server |
Beta Was this translation helpful? Give feedback.
-
we need a proper profiler report. |
Beta Was this translation helpful? Give feedback.
-
Spark report with 50k item displays As already suspected by some, the main issue (nearly 60% of tick time) seems to be the canSee checks and sending the updates to players, not the actual tick logic of the item display itself. |
Beta Was this translation helpful? Give feedback.
-
Yeah, that too |
Beta Was this translation helpful? Give feedback.
-
canSee is barely a real issue, I mixed that up a bit. The main performance loss comes just from tracking that many entities. |
Beta Was this translation helpful? Give feedback.
-
Just like the last person said, I've worked with many display entities and have created various APIs for using and creating complex models with them. The lag that comes from display entities has nothing to do with them ticking and everything to do with tracking them, the more you have the laggier any getEntity, getNearbyEntities, etc methods will be and there isn't really a solution to that unless we made it skip them or something. I'm all for trying to find ways to reduce their impact but ticking isn't the issue |
Beta Was this translation helpful? Give feedback.
-
If it'd be useful I can pull up some old reports and stats me and a few others have gotten on this (if the reports haven't expired anyways) |
Beta Was this translation helpful? Give feedback.
-
Paper should do something with entity handler For example, there is a plugin called FartherViewDistance. It can send chunks to players without loading any entities. |
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem?
Display entities tick, but this is unnecessary unless you need them as passengers.
Describe the solution you'd like.
Separate options to disable ticking all four display entities (Display, TextDisplay, BlockDisplay and ItemDisplay) - and, if possible, interaction entities as well.
Describe alternatives you've considered.
I don't believe there are any.
Other
Someone proposed this on the Paper Discord last March, but I don't believe they followed through with making an issue.
Beta Was this translation helpful? Give feedback.
All reactions