cache available recipe list in craft menu #74178
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Performance "cache available recipe list in craft menu"
Purpose of change
when filling in the recipe result pane with information about derived crafts, get_group_available_recipes and get_available_nested is called every time the ui is navigated. this makes it slow to scroll through the recipes or batch craft list, and i don't think is necessary since the available recipes aren't changing while the menu is open.
Describe the solution
stash the available recipes in the character for reuse and then invalidate the list once we exit the craft menu.
Describe alternatives you've considered
Testing
for me, this makes the craft menu much more responsive, especially on debug/non-lto builds where it is not optimized well.
Additional context
i tried this just as a hack, since i am new to the code, and there is likely a cleaner solution 😀