From 7ca2486ea8be757261e037848daf88ab3c660737 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Sun, 20 Oct 2024 00:34:44 -0400 Subject: Profiling --- src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java | 7 +++++++ src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java | 8 ++++++++ 2 files changed, 15 insertions(+) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java index 10c2fdf8..9f24e2e7 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java @@ -30,6 +30,9 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.math.ColorHelper; import net.minecraft.util.math.Vec3d; +import net.minecraft.util.profiler.Profiler; +import net.minecraft.util.profiler.Profilers; + import org.joml.Matrix3f; import org.joml.Matrix4f; import org.joml.Vector3f; @@ -334,8 +337,12 @@ public class RenderHelper { * This is called after all {@link WorldRenderEvents#AFTER_TRANSLUCENT} listeners have been called so that we can draw all remaining render layers. */ private static void drawTranslucents(WorldRenderContext context) { + Profiler profiler = Profilers.get(); + + profiler.push("skyblockerTranslucentDraw"); //Draw all render layers that haven't been drawn yet - drawing a specific layer does nothing and idk why ((VertexConsumerProvider.Immediate) context.consumers()).draw(); + profiler.pop(); } public static void runOnRenderThread(Runnable runnable) { diff --git a/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java index 547adc5c..d024720f 100644 --- a/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java +++ b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java @@ -8,6 +8,9 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.util.profiler.Profiler; +import net.minecraft.util.profiler.Profilers; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -129,6 +132,9 @@ public class Scheduler { } public void tick() { + Profiler profiler = Profilers.get(); + profiler.push("skyblockerSchedulerTick"); + if (tasks.containsKey(currentTick)) { List currentTickTasks = tasks.get(currentTick); //noinspection ForLoopReplaceableByForEach (or else we get a ConcurrentModificationException) @@ -140,7 +146,9 @@ public class Scheduler { } tasks.remove(currentTick); } + currentTick += 1; + profiler.pop(); } /** -- cgit