WhatsLaggin report (launch)  1m44s recorded, ended 2026-10-02 00:07:53
Minecraft 1.20.1, Forge 47.4.23, 453 mods, Java 17.0.8 OpenJDK 64-Bit Server VM, max heap 8.0 GB
GPU NVIDIA GeForce RTX 4060 Ti/PCIe/SSE2 (NVIDIA Corporation), OpenGL 4.6.0 NVIDIA 617.14
CPU 16x 13th Gen Intel(R) Core(TM) i5-13400F, 16 threads, 15.9 GB RAM
Video 1024x768 windowed @60 Hz, vsync off, fps limit unlimited, render distance 20, simulation 5, graphics fast, shaders off

VERDICT
  Launch recorded for 1m44s from mod construction (JVM was already 56.3 s old). Total time to the end of the recording: 2m40s.

WHAT TO FIX (ranked by time lost per second of play)
  Nothing crossed a reporting threshold. This recording looks healthy.

MAIN (RENDER) THREAD BY MOD (sampled; wall time the loading screen spent in each mod)
  18,014 samples: CPU work 41%, GPU wait 0.7%, limiter 53%, blocked on other threads 5.9%
  mods caused 93% of render-thread CPU work, vanilla/forge/driver the rest
  time      share  own   mod                          mostly in
  13.1 s    31%    0.4%  blueprint                    tasks
  3.6 s     8.5%   96%   entity_model_features        tasks
  2.3 s     5.5%   59%   modernfix                    tasks
  1.7 s     4.1%   57%   forge (loader, events)       no phase
  1.3 s     3.1%   2.2%  obscure_tooltips             tasks
  1.3 s     3.1%   55%   minecraft (vanilla)          tasks
  918 ms    2.2%   74%   punchy                       tasks
  878 ms    2.1%   3.3%  fabric_registry_sync_v0      no phase
  860 ms    2.0%   99%   ferritecore                  tasks
  768 ms    1.8%   26%   alexsmobs                    no phase
  635 ms    1.5%   0.9%  mod_menu                     tasks
  606 ms    1.4%   20%   fancymenu                    no phase
  520 ms    1.2%   29%   cataclysm                    no phase
  473 ms    1.1%   16%   iceandfire                   tasks
  450 ms    1.1%   5.1%  embeddium                    no phase
  12.8 s    213 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  blueprint  13.1 s, 31%
    83%   com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.listResources:208  <- punchy.config.PunchyTuningConfig.collectCompatResourceIds:4985
          hot com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.getResourceFunction:161 0.2%
          executing ZipEntry.setExtra0 68%
    6.3%  com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.getResource:236  <- ReloadableResourceManager.getResource:49
          executing Throwable.fillInStackTrace 21%
    4.6%  com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.listResourceStacks:219  <- FileToIdConverter.listMatchingResourceStacks:36
          executing ZipEntry.setExtra0 51%
  entity_model_features  3.6 s, 8.5%
    84%   EntityModelSet.emf$injectModelLoad:1521 [mixin handler from traben.entity_model_features.mixin.mixins.MixinEntityModelLoader]  <- EntityModelSet.m_171103_$mixinextras$wrapped$9:19
          hot traben.entity_model_features.models.animation.math.asm.ASMVariableHandler.test 19%
          executing ArrayList.indexOfRange 20%
    14%   BlockEntityRenderers.lambda$setEmf$Model$0:583 [mixin merged from traben.entity_model_features.mixin.mixins.MixinBlockEntityRendererFactories]  <- BlockEntityRenderers.accept
          hot traben.entity_model_features.models.animation.math.asm.ASMVariableHandler.test 10%
          executing ArrayList.indexOfRange 10%
  modernfix  2.3 s, 5.5%
    25%   org.embeddedt.modernfix.resources.PackResourcesCacheEngine$Node.lambda$outputResources$0:79  <- Resource.open:46
          executing Inflater.inflateBytesBytes 39%
    20%   PathPackResources.fastGetResources:1105 [mixin handler from org.embeddedt.modernfix.common.mixin.perf.resourcepacks.ForgePathPackResourcesMixin]  <- FallbackResourceManager.listResources:167
          hot org.embeddedt.modernfix.resources.PackResourcesCacheEngine.decomposeCached:232 22%
          executing ConcurrentHashMap.computeIfAbsent 15%
    20%   ForgeHooksClient.postNamespacedKeySetBakingCompletedEvent:1416 [mixin redirect from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ForgeHooksClientMixin]  <- ModelManager.apply:205
          hot org.embeddedt.modernfix.forge.dynresources.ModelLocationBuilder.generateForBlock:56 49%
          executing ObjectLinkedOpenHashSet.add:409 14%
  obscure_tooltips  1.3 s, 3.1%
    100%  com.obscuria.tooltips.client.ResourceLoader.onResourceManagerReload:72  <- ResourceManagerReloadListener.lambda$reload$0:15
          hot com.obscuria.tooltips.client.ResourceLoader.loadElements:111 61%
          executing ZipEntry.setExtra0 82%
  minecraft (vanilla)  1.3 s, 3.1%, hottest vanilla methods:
    15%   GlStateManager._texSubImage2D:582  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing GL11C.nglTexSubImage2D 100%
    7.1%  FontSet.lambda$reload$5:64  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing IntArrayList.grow:317 6.3%
    6.7%  Library.getDefaultDeviceName:245  <- me.decce.ixeris.RenderThreadStarter.tryCreateMinecraft:66
          executing JNI.invokePP 93%
  punchy  918 ms, 2.2%
    99%   punchy.client.PunchyClient.onResourceReload:363  <- ResourceManagerReloadListener.lambda$reload$0:15
          hot punchy.client.model.ResourcePackGeoRegistry.loadModelBones:136 31%
          executing JsonReader.nextQuotedValue:1033 6.3%
  fabric_registry_sync_v0  878 ms, 2.1%
    70%   ForgeStatesProvider.lambda$new$4:25 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin]  <- Minecraft.<init>:459
          hot ht.treechop.TreeChopForge.lambda$new$5:57 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin] 0.9%
          executing ObjectHolderRegistry.lambda$applyObjectHolders$9:230 19%
    24%   org.embeddedt.modernfix.resources.PackResourcesCacheEngine.lambda$new$4:117 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin]  <- org.embeddedt.modernfix.resources.PackResourcesCacheEngine.run
          hot org.embeddedt.modernfix.resources.PackResourcesCacheEngine.lambda$new$1:115 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin] 11%
          executing FileDispatcherImpl.pread0 16%
  ferritecore  860 ms, 2.0%
    38%   malte0811.ferritecore.fastmap.immutable.FastMapEntryImmutableMap.get:10  <- StateHolder.getValue:96
          hot malte0811.ferritecore.fastmap.FastMap.getKeyFor:148 100%
          executing Object2IntOpenHashMap.getInt:360 100%
    32%   malte0811.ferritecore.impl.StateHolderImpl.populateNeighbors:41  <- StateHolder.populateNeighbours:551
          hot malte0811.ferritecore.fastmap.FastMap.getIndexOf:85 58%
          executing RegularImmutableMap.get:281 58%
    28%   ModelResourceLocation.constructTail:526 [mixin handler from malte0811.ferritecore.mixin.mrl.ModelResourceLocationMixin]  <- ModelResourceLocation.<init>:31
          hot malte0811.ferritecore.impl.Deduplicator.deduplicateVariant:39 100%
          executing StringLatin1.hashCode 39%

  blocked (render thread parked, waiting for another thread):
    6.0 s         modernfix               org.embeddedt.modernfix.forge.load.ModWorkManagerQueue.pollFirst:21

MEMORY AND GC
  allocated 164.4 GB (1.6 GB/s, exact, all threads), max heap 8.0 GB
  134 GC pauses (0 old/full), 3.4 s paused (3.3%), worst 273 ms, one every 0.8 s
  live data after GC 2.3 GB (29% of max), changed by 1.3 GB over the recording

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.51 of 16 cores, whole machine 21% busy
  cores  n    allocated   group                            runs
  0.90   15   94.6 GB     Worker-ResourceReload-#          no JFR samples (idle or native)
  0.33   1    61.8 GB     Render thread                    no JFR samples (idle or native)
  0.19   16   3.4 GB      modloading-worker-#              no JFR samples (idle or native)
  0.04   10   2.7 GB      pool-#-thread-#                  no JFR samples (idle or native)
  0.02   1    555 KB      whatslaggin-threads              no JFR samples (idle or native)

JVM AND I/O
  class loads over 1 ms: 0 (0 ms), on the render/server thread 0 (0 ms)
  log output: 17.7 lines/s, top: 4.9/s  net.minecraft.Util
  exceptions thrown: 0.0/s

TIMELINE
  0:01   (JVM 58.0 s)  mod construct: recording started
  0:28   (JVM 1m25s)  config loaded
  1:44   (JVM 2m40s)  title screen: launch finished

RECORDING
  stack sampler every 5 ms: 18,014 render-thread, 0 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints): 0 CPU samples, 0 allocation samples
  method names: SRG ids translated to Mojang names; mixin handlers are charged to the mod whose mixin injected them
  'own' = share of a mod's time spent in its own classes; the rest is vanilla or library code it called
