From b7485b5bc4e444438001b17f658a7ba8b698bb76 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 29 Jan 2024 22:45:22 -0500 Subject: [PATCH] Join dialog performance improvement --- core/src/mindustry/ui/dialogs/JoinDialog.java | 11 +++++++++++ gradle.properties | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/ui/dialogs/JoinDialog.java b/core/src/mindustry/ui/dialogs/JoinDialog.java index 3b826c3c79..115cdd32c8 100644 --- a/core/src/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/mindustry/ui/dialogs/JoinDialog.java @@ -1,6 +1,7 @@ package mindustry.ui.dialogs; import arc.*; +import arc.freetype.FreeTypeFontGenerator.*; import arc.graphics.*; import arc.input.*; import arc.math.*; @@ -35,6 +36,7 @@ public class JoinDialog extends BaseDialog{ int refreshes; boolean showHidden; TextButtonStyle style; + Task fontIgnoreDirtyTask; String lastIp; int lastPort, lastColumns = -1; @@ -413,6 +415,15 @@ public class JoinDialog extends BaseDialog{ net.pingHost(resaddress, resport, res -> { if(refreshes != cur) return; + //don't recache the texture for a while + if(fontIgnoreDirtyTask == null){ + FreeTypeFontData.ignoreDirty = true; + fontIgnoreDirtyTask = Time.runTask(60f, () -> { + FreeTypeFontData.ignoreDirty = false; + fontIgnoreDirtyTask = null; + }); + } + if(!serverSearch.isEmpty() && !(group.name.toLowerCase().contains(serverSearch) || res.name.toLowerCase().contains(serverSearch) || res.description.toLowerCase().contains(serverSearch) diff --git a/gradle.properties b/gradle.properties index 00ed2b3ae2..bacb7e3213 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=7a2f8eada1 +archash=5bbfaf2ad9