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

Low performance on Storage Terminal when Item Interface is connected to Functional Storage's Controller #1303

Closed
jmadarg opened this issue Aug 23, 2023 · 6 comments

Comments

@jmadarg
Copy link

jmadarg commented Aug 23, 2023

Issue type:

  • 🐌 Performance issue

Short description:

My Integrated Dynamics system is connected to via item interfaces to a Colossal Chest and a Storage Controller (from Functional Storage, a similar mod to Storage Drawers). During my VolcanoBlock playthrough I noticed the Storage Terminal interface getting lower and lower FPS (just clientside, server doesn't seems affected, as it keeps a steady 20TPS). To find the issue I tried disconnecting the Colossal Chest first, which did not changed anything, then I disconnected the Storage Controller and everything was smooth again.

Steps to reproduce the problem:

Haven't tested in singleplayer or isolating, but this is how it went for me:

  1. Connect Storage Controller (from Functional Storage) using an Item Interface
  2. Add drawers to the system
  3. Eventually the Storage Terminal starts lagging out (low FPS)

Versions:

  • This mod: 1.16.9 (Can't use 1.17.0 as I'm playing on a server)
  • Minecraft: 1.19.2
  • Forge: 43.2.14

Profiler output:

Profiler of client, let me know if the serverside one is needed (as previously said, server tps is steady at 20)
https://spark.lucko.me/bQzqLXiWvB

@rubensworks
Copy link
Member

Thanks for reporting!

@rubensworks
Copy link
Member

I noticed the Storage Terminal interface getting lower and lower FPS

How much lower is the FPS?

In any case, if the Storage Controller contains a large amount of items that change very frequently, then the FPS drop (caused by many large packets being sent from the server) is to be expected.

So some follow-up questions: how many items does the storage controller contain, and how frequently does its contents change?

@jmadarg
Copy link
Author

jmadarg commented Aug 23, 2023

As of right now, My frames drops from 80 to 30 when opening the Terminal when only the Colossal chest is connected (almost the same drop as when opening any inventory with this modpack), but when the Controller is connected my frames are at most 5.

Not really sure how to check the frequency of the content changes, but I do collect items from mob farms in it, and also some ore processing outputs. I probably have around 30 compacting drawers connected (can't check the actual number as the server I play is having issues).

I did tried to have a bigger ticks/operation (only managed to test up to 5), but did not seem to help.

@rubensworks
Copy link
Member

We might be able to run parts of the packet handling off-thread, but will have to think about this a bit...

@rubensworks
Copy link
Member

Note to self; relevant part of the profile:

Screenshot 2023-08-27 at 11 11 48

@rubensworks
Copy link
Member

I've made some changes that improve performances.
New release coming in a bit.
Looking forward to hear what the impact is on your end @jmadarg.
In case performance is still too bad, there are some more things I can do (but I'd like to see another profile log in that case).

Note to self: investigate actually moving diffing off-thread.

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

No branches or pull requests

2 participants