From c781a8779747e891b86f9dd30770f9ffba448630 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sat, 4 Jun 2016 20:11:01 +0200 Subject: [PATCH] Performance improvement to grid --- src/main/java/refinedstorage/gui/GuiGrid.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/refinedstorage/gui/GuiGrid.java b/src/main/java/refinedstorage/gui/GuiGrid.java index 8358b33dd..ade3815d8 100755 --- a/src/main/java/refinedstorage/gui/GuiGrid.java +++ b/src/main/java/refinedstorage/gui/GuiGrid.java @@ -34,10 +34,17 @@ public class GuiGrid extends GuiBase { private Comparator quantityComparator = new Comparator() { @Override public int compare(ClientItem left, ClientItem right) { + int leftSize = left.getStack().stackSize; + int rightSize = right.getStack().stackSize; + + if (leftSize == rightSize) { + return 0; + } + if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING) { - return Integer.valueOf(left.getStack().stackSize).compareTo(right.getStack().stackSize); + return (leftSize > rightSize) ? 1 : -1; } else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING) { - return Integer.valueOf(right.getStack().stackSize).compareTo(left.getStack().stackSize); + return (rightSize > leftSize) ? 1 : -1; } return 0;