From bc1aa9e97e373a17fe983779dc359f05ce39daa1 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Wed, 8 Jan 2020 21:32:53 -0800 Subject: [PATCH] Stop running the LoadItem task on every inventory open (which also re-ran the search and caused lag on every inventory open). Unclear if this breaks anything -- it works with simple testing. --- build/build.properties | 2 +- src/codechicken/nei/ItemList.java | 2 ++ src/codechicken/nei/LayoutManager.java | 6 +++++- src/codechicken/nei/SubsetWidget.java | 3 +++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build/build.properties b/build/build.properties index 603cb4ad2..34878a6fe 100644 --- a/build/build.properties +++ b/build/build.properties @@ -2,4 +2,4 @@ mc_version=1.7.10 forge_version=10.13.4.1614-1.7.10 ccl_version=1.1.3.138 ccc_version=1.0.7.+ -mod_version=2.0.0-pre-12-GTNH +mod_version=2.0.0-pre-13-GTNH diff --git a/src/codechicken/nei/ItemList.java b/src/codechicken/nei/ItemList.java index aeb73695e..d216fa229 100644 --- a/src/codechicken/nei/ItemList.java +++ b/src/codechicken/nei/ItemList.java @@ -182,6 +182,7 @@ private void damageSearch(Item item, List permutations) { @Override public void execute() { + // System.out.println("Executing NEI Item Loading"); ThreadOperationTimer timer = getTimer(500); LinkedList items = new LinkedList<>(); @@ -243,6 +244,7 @@ public static ForkJoinPool getPool(int poolSize) { { @Override public void execute() { + // System.out.println("Executing NEI Item Filtering"); ArrayList filtered = new ArrayList<>(); ItemFilter filter = getItemListFilter(); diff --git a/src/codechicken/nei/LayoutManager.java b/src/codechicken/nei/LayoutManager.java index f1562ac0c..837ce0536 100644 --- a/src/codechicken/nei/LayoutManager.java +++ b/src/codechicken/nei/LayoutManager.java @@ -100,6 +100,7 @@ public class LayoutManager implements IContainerInputHandler, IContainerTooltipH public static HashMap layoutStyles = new HashMap<>(); public static boolean ftbUtilsLoaded = false; + public static boolean itemsLoaded = false; public static void load() { ftbUtilsLoaded = Loader.isModLoaded("FTBU"); @@ -559,7 +560,10 @@ public void load(GuiContainer gui) { if (isEnabled()) { setInputFocused(null); - ItemList.loadItems.restart(); + if(!itemsLoaded) { + ItemList.loadItems.restart(); + itemsLoaded = true; + } overlayRenderer = null; getLayoutStyle().init(); diff --git a/src/codechicken/nei/SubsetWidget.java b/src/codechicken/nei/SubsetWidget.java index 8b707fc65..5ec906e56 100644 --- a/src/codechicken/nei/SubsetWidget.java +++ b/src/codechicken/nei/SubsetWidget.java @@ -518,12 +518,15 @@ public void clearTasks() { } public synchronized void reallocate() { + // System.out.println("NEI Subset - Reallocate"); + // Thread.dumpStack(); reallocate = true; restart(); } @Override public void execute() { + // System.out.println("Executing NEI Subset Item Allocation"); HashMap state = new HashMap<>(); List tags = new LinkedList<>(); synchronized (root) {