Performance Problems with the Cooking Table
zsn741656478 opened this issue ยท 10 comments
https://sparkprofiler.github.io/#Oh7E2gkfIK
https://i.loli.net/2019/01/12/5c39f1014f279.png
My server TPS become zero when player use the cooking table.
Please fix it.
Duplicate #489
That kitchen has got to be huge, can you find the kitchen causing this and take a screenshot so I can see what's going on?
https://sparkprofiler.github.io/#Oh7E2gkfIK
https://i.loli.net/2019/01/12/5c39f1014f279.png
My server TPS become zero when player use the cooking table.
Please fix it.
Can you send full modlist?
Hi folks - regarding slow recipe list and crafting on the cooker in the enigmatica 2 modpack - I figured out by tinkering how to get it to go away - thought it might be handy for your investigations.
I have zero slowdown now, after removing the cooking utensils from the top of the stove. It does mean that I need them in my bag to craft but it seems having them in place on the cooker was somehow linked to the huge lag. Hope that helps! :D
Some thoughts on resolving this.
- Add ability to disable kitchen floor being a part of the KitchenMultiBlock. It can (and often is) purely decorative. If someone wanted to connect a StorageDrawer system - they'd probably connect it to the table using a Controller Slave.
- I looked through the way compat is implemented and I noticed one thing regarding StorageDrawers support.
Basically - no offence, but - it's dumb.
SD allows access to all drawers of the drawer "system" without the need to scan it's whole (often huge) block structure to an internal buffer every time the Kitchen is opened.
Basically - you'd need to mark Controllers, Controller Slaves and the Drawers themselves as item providers that don't need additional searching and ask them nicely for a list of items they have and, when needed - to remove items used by crafting process.
This way all the work regarding handling of item lists and whatnot is done by the StorageDrawers itself, not adding an unnecessary overhead.
Still not sure what's causing it for the original poster (maybe there's just a ridiculously large amount of food recipes?), but for @braunly the amount of kitchen floor blocks definitely plays a role too. Kitchen multiblocks currently are scanned when opening the cooking table, so for each of those 100+ floor blocks it has to check 5 directions for kitchen blocks each.