WhatsLaggin report (launch)  1m11s recorded, ended 2026-10-02 00:22:31
Minecraft 1.20.1, Forge 47.4.23, 455 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 1m11s from mod construction (JVM was already 33.8 s old). Total time to the end of the recording: 1m44s.

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)
  13,778 samples: CPU work 85%, GPU wait 0.2%, limiter 11%, blocked on other threads 4.5%
  mods caused 97% of render-thread CPU work, vanilla/forge/driver the rest
  time      share  own   mod                          mostly in
  36.0 s    60%    0.1%  blueprint                    tasks
  3.1 s     5.2%   97%   entity_model_features        tasks
  2.0 s     3.3%   58%   modernfix                    tasks
  1.3 s     2.1%   55%   forge (loader, events)       no phase
  1.1 s     1.9%   0.9%  obscure_tooltips             tasks
  862 ms    1.4%   99%   ferritecore                  tasks
  800 ms    1.3%   1.3%  fabric_registry_sync_v0      no phase
  774 ms    1.3%   77%   punchy                       tasks
  713 ms    1.2%   58%   minecraft (vanilla)          tasks
  646 ms    1.1%   23%   alexsmobs                    no phase
  585 ms    1.0%   7.0%  iceandfire                   tasks
  518 ms    0.9%   20%   fancymenu                    no phase
  456 ms    0.8%   31%   cataclysm                    no phase
  436 ms    0.7%   19%   infernalexp                  no phase
  400 ms    0.7%   37%   create                       no phase
  10.2 s    204 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  blueprint  36.0 s, 60%
    89%   com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.listResources:208  <- dev.isxander.yacl3.gui.image.YACLImageReloadListener.prepare:48
          hot com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.getResourceFunction:168 <0.1%
          executing ZipFile$ZipEntryIterator.next 73%
    8.4%  com.teamabnormals.blueprint.common.remolder.RemoldedResourceManager.listResourceStacks:219  <- FileToIdConverter.listMatchingResourceStacks:36
          executing ZipFile$ZipEntryIterator.next 82%
  entity_model_features  3.1 s, 5.2%
    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.expression_tree.MathExpressionParser.readVariableOrConstant:259 19%
          executing ArrayList.indexOfRange 16%
    13%   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 11%
          executing ArrayList.indexOfRange 13%
  modernfix  2.0 s, 3.3%
    26%   org.embeddedt.modernfix.resources.PackResourcesCacheEngine$Node.lambda$outputResources$0:79  <- Resource.open:46
          executing FileDispatcherImpl.pread0 39%
    18%   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 48%
          executing StringLatin1.toLowerCase 14%
    18%   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 80%
          executing ConcurrentHashMap.computeIfAbsent 68%
  obscure_tooltips  1.1 s, 1.9%
    100%  com.obscuria.tooltips.client.ResourceLoader.onResourceManagerReload:72  <- ResourceManagerReloadListener.lambda$reload$0:15
          hot com.obscuria.tooltips.client.ResourceLoader.loadElements:111 63%
          executing ZipEntry.setExtra0 65%
  ferritecore  862 ms, 1.4%
    35%   malte0811.ferritecore.fastmap.immutable.FastMapEntryImmutableMap.get:10  <- StateHolder.getValue:96
          hot malte0811.ferritecore.fastmap.FastMap.getKeyFor:148 98%
          executing Object2IntOpenHashMap.getInt:360 98%
    33%   malte0811.ferritecore.impl.StateHolderImpl.populateNeighbors:41  <- StateHolder.populateNeighbours:551
          hot malte0811.ferritecore.fastmap.FastMap.getIndexOf:85 55%
          executing RegularImmutableMap.get:281 54%
    29%   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 31%
  fabric_registry_sync_v0  800 ms, 1.3%
    69%   ForgeStatesProvider.lambda$new$4:25 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin]  <- Minecraft.<init>:459
          executing ObjectHolderRegistry.lambda$applyObjectHolders$9:230 23%
    27%   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$3:121 [mixin merged from net.fabricmc.fabric.mixin.registry.sync.SimpleRegistryMixin] 9.5%
          executing FileDispatcherImpl.pread0 12%
  punchy  774 ms, 1.3%
    99%   punchy.client.PunchyClient.onResourceReload:363  <- ResourceManagerReloadListener.lambda$reload$0:15
          hot punchy.client.model.ResourcePackGeoRegistry.loadModelBones:136 39%
          executing Inflater.inflateBytesBytes 12%
  minecraft (vanilla)  713 ms, 1.2%, hottest vanilla methods:
    23%   GlStateManager._texSubImage2D:582  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing GL11C.nglTexSubImage2D 100%
    10%   FontSet.lambda$reload$5:64  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing IntArrays.forceCapacity:125 7.1%
    5.8%  Library.setHrtf:201  <- SoundEngine.wrapReload:6094 [mixin wrapMethod from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.off_thread_access.MixinSoundEngine]
          executing JNI.invokePPZ 100%

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

MEMORY AND GC
  allocated 164.4 GB (2.3 GB/s, exact, all threads), max heap 8.0 GB
  205 GC pauses (0 old/full), 1.4 s paused (2.0%), worst 50 ms, one every 0.3 s
  live data after GC 2.3 GB (29% of max), changed by 1.4 GB over the recording

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 2.01 of 16 cores, whole machine 24% busy
  cores  n    allocated   group                            runs
  1.23   15   94.6 GB     Worker-ResourceReload-#          no JFR samples (idle or native)
  0.50   1    61.8 GB     Render thread                    no JFR samples (idle or native)
  0.21   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)

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

TIMELINE
  0:00   (JVM 34.4 s)  mod construct: recording started
  0:17   (JVM 51.1 s)  config loaded
  1:10   (JVM 1m44s)  title screen: launch finished

RECORDING
  stack sampler every 5 ms: 13,778 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
