Skip to content

Commit 94271b8

Browse files
committed
Add world join profiling
1 parent 6e591f5 commit 94271b8

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

common/src/main/java/org/embeddedt/modernfix/ModernFixClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.embeddedt.modernfix.searchtree.JEIBackedSearchTree;
1717
import org.embeddedt.modernfix.searchtree.REIBackedSearchTree;
1818
import org.embeddedt.modernfix.searchtree.SearchTreeProviderRegistry;
19+
import org.embeddedt.modernfix.spark.SparkLaunchProfiler;
1920
import org.embeddedt.modernfix.util.ClassInfoManager;
2021
import org.embeddedt.modernfix.world.IntegratedWatchdog;
2122

@@ -100,6 +101,9 @@ public void onRenderTickEnd() {
100101
ModernFix.LOGGER.warn("Time from main menu to in-game was " + timeSpentLoading + " seconds");
101102
ModernFix.LOGGER.warn("Total time to load game and open world was " + (timeSpentLoading + gameStartTimeSeconds) + " seconds");
102103
}
104+
if (ModernFixPlatformHooks.INSTANCE.modPresent("spark") && ModernFixMixinPlugin.instance.isOptionEnabled("feature.spark_profile_world_join.WorldJoin")) {
105+
SparkLaunchProfiler.stop("world_join");
106+
}
103107
resetWorldLoadStateMachine();
104108
}
105109
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.embeddedt.modernfix.common.mixin.feature.spark_profile_world_join;
2+
3+
import net.minecraft.client.Minecraft;
4+
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
5+
import org.embeddedt.modernfix.spark.SparkLaunchProfiler;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
11+
@Mixin(Minecraft.class)
12+
@ClientOnlyMixin
13+
public class MinecraftMixin {
14+
@Inject(method = "prepareForMultiplayer", at = @At("HEAD"))
15+
private void startProfiling(CallbackInfo ci) {
16+
SparkLaunchProfiler.start("world_join");
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.embeddedt.modernfix.common.mixin.feature.spark_profile_world_join;
2+
3+
import net.minecraft.server.WorldLoader;
4+
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
5+
import org.embeddedt.modernfix.spark.SparkLaunchProfiler;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Inject;
9+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
10+
11+
@Mixin(WorldLoader.class)
12+
@ClientOnlyMixin
13+
public class WorldLoaderMixin {
14+
@Inject(method = "load", at = @At("HEAD"))
15+
private static void startProfiling(CallbackInfoReturnable<?> cir) {
16+
SparkLaunchProfiler.start("world_join");
17+
}
18+
}

common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ public DefaultSettingMapBuilder put(String key, Boolean value) {
182182
.put("mixin.feature.snapshot_easter_egg", true)
183183
.put("mixin.feature.warn_missing_perf_mods", true)
184184
.put("mixin.feature.spark_profile_launch", false)
185+
.put("mixin.feature.spark_profile_world_join", false)
185186
.put("mixin.feature.log_stdout_in_log_files", true)
186187
.put("mixin.devenv", isDevEnv)
187188
.put("mixin.perf.remove_spawn_chunks", isDevEnv)

0 commit comments

Comments
 (0)