WhatsLaggin report (manual)  16.3 s recorded, ended 2026-10-05 18:21:08
Minecraft 1.20.1, Forge 47.4.20, 482 mods, Java 17.0.8 OpenJDK 64-Bit Server VM, max heap 10.0 GB
GPU AMD Radeon RX 9070 XT (ATI Technologies Inc.), OpenGL 4.6.0 Core Profile Context 26.8.1.260810
CPU 16x AMD Ryzen 7 7800X3D 8-Core Processor, 16 threads, 31.4 GB RAM
Video 3440x1440 fullscreen @180 Hz, vsync off, fps limit unlimited, render distance 12, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 126 entities loaded

VERDICT
  1389 fps average (0.72 ms per frame), 1% low 233 fps, 0.1% low 181 fps.
  CPU-BOUND: the render thread is busy for 0.65 ms of each frame; the GPU wait is only 0.075 ms. Cutting render-thread work raises FPS directly.
  No stutters over 20 ms.

WHAT TO FIX (ranked by time lost per second of play)
  1. [cpu] entity_model_features costs 0.14 ms per frame on the render thread
       21% of render-thread CPU time, mostly in world, 98% in its own code (rest is vanilla/library code it called)
       96%  traben.entity_model_features.models.parts.EMFModelPartVanilla.render:116   <- ModelPart.render:109
               hot: traben.entity_model_features.models.animation.math.asm.ASMParser.lambda$compileOrNull$0:162 (67%), executing EMF_ASM_Parsed_283.eval (67%)
       removing this cost entirely: about 1389 -> 1714 fps
  2. [cpu] embeddium costs 0.037 ms per frame on the render thread
       5.7% of render-thread CPU time, mostly in world, 35% in its own code (rest is vanilla/library code it called)
       38%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259   <- LevelRenderer.renderChunkLayer:38702
               hot: me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 (29%), executing RenderStateShard.clearRenderState:41 (13%)
       25%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               executing GL20C.nglUniformMatrix4fv (34%)
       12%  LevelRenderer.renderCloudsFast:6112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]   <- LevelRenderer.renderClouds:1900
               hot: me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 (30%), executing GL30C.glBindVertexArray (15%)
       removing this cost entirely: about 1389 -> 1463 fps
  3. [cpu] immediatelyfast costs 0.036 ms per frame on the render thread
       5.6% of render-thread CPU time, mostly in world, 22% in its own code (rest is vanilla/library code it called)
       60%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (72%), executing GL15C.nglBufferSubData (18%)
       8.6%  Gui.endBatching:15209 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]   <- Gui.renderCrosshair:392
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (29%), executing GL15C.nglBufferSubData (14%)
       8.6%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1338
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (93%), executing RenderStateShard.setupRenderState:37 (29%)
       removing this cost entirely: about 1389 -> 1462 fps
  4. [cpu] punchy costs 0.034 ms per frame on the render thread
       5.3% of render-thread CPU time, mostly in world, 74% in its own code (rest is vanilla/library code it called)
       67%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
               hot: punchy.client.render.ToolTuning.resolveCustomModelData:1591 (7.9%), executing Object2ObjectOpenHashMap.get:316 (7.9%)
       27%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 (27%), executing MixinProcessor.applyMixins:325 (9.8%)
       removing this cost entirely: about 1389 -> 1457 fps
  5. [cpu] gnetum costs 0.028 ms per frame on the render thread
       4.3% of render-thread CPU time, mostly in hud, 33% in its own code (rest is vanilla/library code it called)
       99%  ForgeGui.gnetum$render$mixinextras$bridge$65 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]   <- GameRenderer.render:945
               hot: ForgeGui.gnetum$postEvent:3631 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (47%), executing ASMEventHandler.invoke:55 (30%)
       removing this cost entirely: about 1389 -> 1444 fps
  6. [cpu] oculus costs 0.022 ms per frame on the render thread
       3.5% of render-thread CPU time, mostly in world, 50% in its own code (rest is vanilla/library code it called)
       37%  LevelRenderer.batchedentityrendering$sortEntityList:7622 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting]   <- LevelRenderer.renderLevel:1198
               hot: LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] (62%), executing HashMap$Values.forEach (22%)
       23%  GameRenderer.iris$disableVanillaHandRendering:8034 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]   <- GameRenderer.renderItemInHand:852
               hot: GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride] (13%), executing ASMEventHandler.invoke:55 (30%)
       8.0%  LevelRenderer.iris$renderTranslucentAfterDeferred:16640 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1381
               hot: ParticleEngine.lambda$iris$selectParticlesToRender$0:6181 [mixin merged from net.irisshaders.iris.mixin.fantastic.MixinParticleEngine] (13%), executing Iterators$5.computeNext:671 (25%)
       removing this cost entirely: about 1389 -> 1433 fps
  7. [exceptions] 325 exceptions thrown per second
       248.6/s  ClassNotFoundException from tooltipoverhaul at Screen.to$emiRecord:5826 [mixin handler from dev.xylonity.tooltipoverhaul.mixin.ScreenRecorderMixin]
       19.7/s  UnionFileSystem$UncheckedIOException from punchy at punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223
       19.7/s  ClassNotFoundException from punchy at punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223
       19.7/s  NoSuchFileException from punchy at punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223
       19.7/s  UnionFileSystem$NoSuchFileException from punchy at punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223

FRAMES
  22,437 frames   p50 0.64 ms   p95 1.03 ms   p99 3.90 ms   worst 16 ms
  per frame:  tasks 0.004 ms  client tick 0.039 ms  render 0.56 ms  present 0.077 ms  other 0.036 ms
  inside those:  swap 0.075 ms  world 0.46 ms  hud 0.074 ms  screen 0.016 ms
  client tick: 2.69 ms per tick, 20.0 ticks per second

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  3,242 samples: CPU work 89%, GPU wait 11%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 81% of render-thread CPU work, vanilla/forge/driver the rest
  12% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glUseProgram; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.14 ms   21%    98%   entity_model_features        world
  0.066 ms  10%    76%   minecraft (vanilla)          world
  0.052 ms  8.2%   100%  forge (loader, events)       world
  0.037 ms  5.7%   35%   embeddium                    world
  0.036 ms  5.6%   22%   immediatelyfast              world
  0.034 ms  5.3%   74%   punchy                       world
  0.028 ms  4.3%   33%   gnetum                       hud
  0.022 ms  3.5%   50%   oculus                       world
  0.017 ms  2.7%   77%   collections_of_optimizations world
  0.016 ms  2.5%   17%   asyncparticles               world
  0.009 ms  1.4%   85%   xaeroworldmap                no phase
  0.009 ms  1.4%   35%   xaerolib                     hud
  0.009 ms  1.4%   74%   flywheel                     world
  0.007 ms  1.1%   42%   entity_texture_features      world
  0.007 ms  1.1%   100%  fancymenu                    world
  0.15 ms   100 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  entity_model_features  0.14 ms/frame, 21%
    96%   traben.entity_model_features.models.parts.EMFModelPartVanilla.render:116  <- ModelPart.render:109
          hot traben.entity_model_features.models.animation.math.asm.ASMParser.lambda$compileOrNull$0:162 67%
          executing EMF_ASM_Parsed_283.eval 67%
  minecraft (vanilla)  0.066 ms/frame, 10%, hottest vanilla methods:
    15%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    9.8%  LevelRenderer.renderLevel:1199  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing ObjectIterators$UnmodifiableIterator.hasNext:1108 3.4%
    4.7%  Minecraft.runTick:1170  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.037 ms/frame, 5.7%
    38%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259  <- LevelRenderer.renderChunkLayer:38702
          hot me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 29%
          executing RenderStateShard.clearRenderState:41 13%
    25%   ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          executing GL20C.nglUniformMatrix4fv 34%
    12%   LevelRenderer.renderCloudsFast:6112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]  <- LevelRenderer.renderClouds:1900
          hot me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 30%
          executing GL30C.glBindVertexArray 15%
  immediatelyfast  0.036 ms/frame, 5.6%
    60%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 72%
          executing GL15C.nglBufferSubData 18%
    8.6%  Gui.endBatching:15209 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]  <- Gui.renderCrosshair:392
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 29%
          executing GL15C.nglBufferSubData 14%
    8.6%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1338
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 93%
          executing RenderStateShard.setupRenderState:37 29%
  punchy  0.034 ms/frame, 5.3%
    67%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
          hot punchy.client.render.ToolTuning.resolveCustomModelData:1591 7.9%
          executing Object2ObjectOpenHashMap.get:316 7.9%
    27%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 27%
          executing MixinProcessor.applyMixins:325 9.8%
  gnetum  0.028 ms/frame, 4.3%
    99%   ForgeGui.gnetum$render$mixinextras$bridge$65 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3631 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 47%
          executing ASMEventHandler.invoke:55 30%
  oculus  0.022 ms/frame, 3.5%
    37%   LevelRenderer.batchedentityrendering$sortEntityList:7622 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting]  <- LevelRenderer.renderLevel:1198
          hot LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] 62%
          executing HashMap$Values.forEach 22%
    23%   GameRenderer.iris$disableVanillaHandRendering:8034 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]  <- GameRenderer.renderItemInHand:852
          hot GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride] 13%
          executing ASMEventHandler.invoke:55 30%
    8.0%  LevelRenderer.iris$renderTranslucentAfterDeferred:16640 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1381
          hot ParticleEngine.lambda$iris$selectParticlesToRender$0:6181 [mixin merged from net.irisshaders.iris.mixin.fantastic.MixinParticleEngine] 13%
          executing Iterators$5.computeNext:671 25%
  collections_of_optimizations  0.017 ms/frame, 2.7%
    23%   net.bettercombat.logic.WeaponRegistry.coo$cachedByItem:535 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.bettercombat.MixinWeaponRegistry]  <- net.bettercombat.logic.WeaponRegistry.getAttributes
          hot net.bettercombat.logic.WeaponRegistry.coo$carriesOwnAttributes:525 [mixin merged from com.misanthropy.collections_of_optimizations.mixin.bettercombat.MixinWeaponRegistry] 78%
          executing Object2ObjectOpenHashMap.get:316 67%
    17%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$singleLookupGetBuffer:1114 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource]  <- net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBufferBuilder
          executing Object2ObjectLinkedOpenHashMap.get:637 62%
    10%   traben.entity_model_features.models.animation.math.methods.emf.NBTMethod.coo$cachePerTick:528 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.emf.MixinNBTMethod]  <- traben.entity_model_features.models.animation.math.methods.emf.NBTMethod.nbtMethodStatic
          hot com.misanthropy.collections_of_optimizations.core.EmfNbtTickCache.forQuery:27 100%
          executing HashMap.hash 75%

MEMORY AND GC
  allocated 3.7 GB (230 MB/s, exact, all threads), max heap 10.0 GB
  1 GC pauses (0 old/full), 15 ms paused (<0.1%), worst 15 ms, one every 16.3 s
  live data after GC 4.2 GB (42% of max)
  by mod (JFR samples scaled to each thread's exact allocation; 96% of bytes covered):
    33 MB/s   14%    minecraft (vanilla)       307 samples
        12%  EntityRenderDispatcher.shouldRender:127 -> CallbackInfoReturnable
        7.5%  PoseStack.<init>:14 -> Object;
    23 MB/s   10%    entity_model_features     104 samples
        39%  traben.entity_model_features.models.animation.math.EMFMath.setEntityVariable:92 -> Float
        35%  traben.entity_model_features.models.animation.math.EMFMath.getEntityVariable:99 -> Float
        15%  traben.entity_model_features.models.animation.math.asm.ASMAnimationHandler.lambda$buildVarSupplier$22:232 -> [F
    23 MB/s   9.9%   immediatelyfast           101 samples
        19%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
        12%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        9.9%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
    21 MB/s   9.2%   punchy                    94 samples
        8.5%  punchy.config.PunchyConfig.findBlacklistMatch:698 -> HashMap$Node;
        6.4%  punchy.config.PunchyConfig.findBlacklistMatch:692 -> Optional
    13 MB/s   5.8%   oculus                    59 samples
        32%  LevelRenderer.lambda$batchedentityrendering$sortEntityList$0:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> Object;
        20%  LevelRenderer.batchedentityrendering$sortEntityList:7626 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> Object;
        6.8%  LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> HashMap$Node
    11 MB/s   4.7%   radium                    85 samples
        37%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        12%  me.jellysquid.mods.lithium.common.util.collections.HashedReferenceList.<init>:27 -> Object;
        11%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    11 MB/s   4.6%   embeddium                 84 samples
        21%  BufferBuilder.onFormatChanged:5580 [mixin handler from me.jellysquid.mods.sodium.mixin.core.render.immediate.consumer.BufferBuilderMixin] -> SodiumBufferBuilder
        11%  me.jellysquid.mods.sodium.client.util.sorting.MergeSort.mergeSort:60 -> [I
        8.6%  me.jellysquid.mods.sodium.client.render.vertex.buffer.SodiumBufferBuilder.<init>:41 -> Vector3f
    6 MB/s    2.5%   gnetum                    25 samples
        32%  me.decce.gnetum.PassManager.cachingDisabled -> 443040018
        20%  me.decce.gnetum.PassManager.cachingDisabled -> 1248680071
        8.0%  me.decce.gnetum.FramebufferManager.blit:95 -> Matrix4f
    5 MB/s    2.0%   xaerominimap              20 samples
        15%  xaero.common.events.ClientEvents.handleRenderGameOverlayEventPre:125 -> Matrix4f
        5.0%  xaero.hud.minimap.waypoint.render.AbstractWaypointRenderProvider.begin:63 -> ReferencePipeline$Head
        5.0%  xaero.hud.minimap.waypoint.render.world.WaypointWorldRenderer.preRender:208 -> CallbackInfo
    4 MB/s    1.9%   asyncparticles            215 samples
        25%  forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 -> String
        15%  forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 -> [B
        14%  forge.fun.qu_an.minecraft.asyncparticles.client.util.IterationSafeArrayList.listIterator:163 -> IterationSafeArrayList$ListItr

INTEGRATED SERVER (single player; this is world lag, not FPS)
  325 ticks, mspt mean 6.94 ms, p50 6.75 ms, p95 8.91 ms, worst 22 ms, 0 over 50 ms
    2.80 ms/tick  40%    minecraft (vanilla)       
    0.42 ms/tick  6.1%   radium                    EntitySectionStorage.forEachInBox:562 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.36 ms/tick  5.1%   forge (loader, events)    
    0.31 ms/tick  4.4%   pehkui                    Entity.pehkui$tick:34737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.24 ms/tick  3.4%   linggango_tweaks          com.misanthropy.linggango.linggango_tweaks.tweak.gate.MobStages.onPotentialSpawns:130

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.40 of 16 cores, whole machine 30% busy
  cores  n    allocated   group                            runs
  0.89   1    3.0 GB      Render thread                    entity_model_features 43%, punchy 8.2%, minecraft 5.4%
  0.19   10   20 MB       Flywheel Task Executor ##        too few samples
  0.15   1    486 MB      Server thread                    minecraft 40%, pehkui 5.6%, ending_library 5.6%
  0.07   1    133 MB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity tick:
    8.91 ms/s  20/s     446 us   minecraft:player                            worst 0.78 ms at 665, 193, -1746
    3.70 ms/s  260/s    14 us    ars_nouveau:starbuncle                      worst 0.062 ms at 557, 79, -1723
    1.59 ms/s  80/s     20 us    ars_nouveau:whirlisprig                     worst 0.15 ms at 621, 72, -1684
  server entity tick:
    5.26 ms/s  252/s    21 us    alexsmobs:bison                             worst 0.21 ms at 703, 68, -1745
    4.63 ms/s  113/s    41 us    ars_nouveau:whirlisprig                     worst 0.28 ms at 636, 69, -1668
    4.58 ms/s  248/s    18 us    eeeabsmobs:relic_observer                   worst 0.34 ms at 922, 15, -1058
    4.14 ms/s  216/s    19 us    terramity:cave_gnome                        worst 0.19 ms at 663, 67, -1730
    3.76 ms/s  113/s    33 us    minecraft:creeper                           worst 0.26 ms at 662, 69, -1735
    3.52 ms/s  133/s    27 us    minecraft:skeleton                          worst 1.10 ms at 682, 69, -1745
    3.07 ms/s  124/s    25 us    minecraft:spider                            worst 0.31 ms at 677, 69, -1739
    2.07 ms/s  60/s     35 us    terramity:green_fairy                       worst 0.30 ms at 683, 74, -1753
  server block entity tick:
    3.33 ms/s  12,461/s 0 us     minecraft:sculk_sensor                      worst 0.22 ms at 927, -10, -963
    1.38 ms/s  4,048/s  0 us     minecraft:sculk_catalyst                    worst 0.15 ms at 732, 4, -1236
  screen:
    22 ms/s    268/s    80 us    net.minecraft.client.gui.screens.ChatScreen worst 0.59 ms

JVM AND I/O
  class loads over 1 ms: 0 (0 ms), on the render/server thread 0 (0 ms)
  non-GC safepoints: 1.28 ms total (last: ThreadDump)
  log output: 0.2 lines/s
  exceptions thrown: 325.2/s, top: 248.6/s  ClassNotFoundException from tooltipoverhaul at Screen.to$emiRecord:5826 [mixin handler from dev.xylonity.tooltipoverhaul.mixin.ScreenRecorderMixin]

MOD VERSIONS (mods named in the findings)
  entity_model_features 3.3.10;  embeddium 0.3.32-beta.102-dirty+mc1.20.1;  immediatelyfast 1.5.5+1.20.4;  
  punchy 2.8c;  gnetum 2.5.1+1.20.1-forge;  oculus 1.8.3;  

RECORDING
  stack sampler every 5 ms: 3,242 render-thread, 408 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 738 CPU samples, 2,500 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
