Skip to content
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

Performance issues when using (wireless) ME terminals heavily #8250

Open
Nivid-IT opened this issue Nov 18, 2024 · 1 comment
Open

Performance issues when using (wireless) ME terminals heavily #8250

Nivid-IT opened this issue Nov 18, 2024 · 1 comment

Comments

@Nivid-IT
Copy link

How to reproduce the performance issue

After running dozens of Observable reports and Spark profilers over a timespan of two weeks, I've noticed different events under "appeng" cause considerable strain on server performance. Once enough players do this consistently, timeouts even start occurring. Reports below have been reproduced consistently:

Observable report with players not opening ME wireless terminals as well as regular crafting terminals for a full minute:
image

Observable report with at least one player keeping an ME wireless terminal as well as regular crafting terminals open for a full minute:
image

Screenshot of a Spark report for which I no longer have the link (it is not the same as the one linked below)
image

Spark profile link

https://spark.lucko.me/Ujkq42QxgV

Which minecraft version are you using?

1.20

On which mod loaders does it happen?

Forge

Additional details

No response

@Mari023
Copy link
Contributor

Mari023 commented Nov 18, 2024

I have seen vague reports of something like this quite a few times, you are the first to actually provide a spark profile of it.

It is quite unfortunate that you lost the other link, because I that one seems more interesting to me (I haven't seen menu opening take that much time, and there is likely going on something weird (unless someone was spamming the hotkey to open and close the terminal, in which case this wouldn't surprise me as much))

But the other profile shows pretty well where the tick time you see in observable comes from:
the biggest time is spent in appeng.menu.me.common.MEStorageMenu.broadcastChanges(), while getting all items in the ME Network, to tell the client what items the network contains.
This is normal, and is the same for the non-wireless terminals, except that the time spent there gets attributed to the ME system ticking and not the player ticking like it does with the wireless terminals.

Tho that doesn't mean that that there isn't anything that can be done about this, but I don't have enough knowledge on the internals to be able to say anything about this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants