From 50fb19156c33ca72f1982e1b38a489898d86a98e Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 4 Jan 2023 14:24:33 -0500 Subject: [PATCH] Time game startup as well --- .../java/org/embeddedt/modernfix/ModernFixClient.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/org/embeddedt/modernfix/ModernFixClient.java b/src/main/java/org/embeddedt/modernfix/ModernFixClient.java index cdc906e4..f170d239 100644 --- a/src/main/java/org/embeddedt/modernfix/ModernFixClient.java +++ b/src/main/java/org/embeddedt/modernfix/ModernFixClient.java @@ -2,16 +2,21 @@ package org.embeddedt.modernfix; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.ConnectingScreen; +import net.minecraft.client.gui.screen.MainMenuScreen; import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; +import java.lang.management.ManagementFactory; + public class ModernFixClient { public static long worldLoadStartTime; private static int numRenderTicks; + public static float gameStartTimeSeconds = -1; + public void resetWorldLoadStateMachine() { numRenderTicks = 0; worldLoadStartTime = -1; @@ -21,6 +26,9 @@ public class ModernFixClient { public void onMultiplayerConnect(GuiOpenEvent event) { if(event.getGui() instanceof ConnectingScreen && !event.isCanceled()) { worldLoadStartTime = System.nanoTime(); + } else if (event.getGui() instanceof MainMenuScreen && gameStartTimeSeconds < 0) { + gameStartTimeSeconds = ManagementFactory.getRuntimeMXBean().getUptime() / 1000f; + ModernFix.LOGGER.warn("Game took " + gameStartTimeSeconds + " seconds to start"); } } @@ -29,6 +37,7 @@ public class ModernFixClient { if(event.phase == TickEvent.Phase.END && worldLoadStartTime != -1 && Minecraft.getInstance().player != null && numRenderTicks++ >= 10) { float timeSpentLoading = ((float)(System.nanoTime() - worldLoadStartTime) / 1000000000f); ModernFix.LOGGER.warn("Time from main menu to in-game was " + timeSpentLoading + " seconds"); + ModernFix.LOGGER.warn("Total time to load game and open world was " + (timeSpentLoading + gameStartTimeSeconds) + " seconds"); resetWorldLoadStateMachine(); } }