WhatsLaggin report (manual)  12.1 s recorded, ended 2026-10-05 18:23:42
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 ComplementaryReimagined_r5.5.1 + EuphoriaPatches_1.6.8
World minecraft:overworld, 124 entities loaded

VERDICT
  356 fps average (2.81 ms per frame), 1% low 248 fps, 0.1% low 189 fps.
  GPU-BOUND: 1.88 ms of each frame (67%) is the CPU waiting for the GPU. The CPU part is only 0.94 ms.
  Optimising mod code on the render thread will not raise FPS until the GPU load drops.
  No stutters over 20 ms.

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] GPU-bound: 67% of every frame is spent waiting on the GPU
       The CPU finishes its part of a frame in 0.94 ms and then waits 1.88 ms in glfwSwapBuffers for the GPU.
       GPU time for the frame's draw calls: p50 2.56 ms, p95 2.85 ms (timer queries).
       Cutting CPU work (mods below) will NOT raise FPS until GPU load drops.
       Biggest GPU levers: shader pack 'ComplementaryReimagined_r5.5.1 + EuphoriaPatches_1.6.8' (lower its shadow/volumetric settings), render distance (12), resolution (3440x1440), graphics mode (fancy)
  2. [cpu] oculus costs 0.18 ms per frame on the render thread
       19% of render-thread CPU time, mostly in world, 42% in its own code (rest is vanilla/library code it called)
       25%  LevelRenderer.iris$beginTranslucents:14834 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1370
               hot: GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride] (10%), executing GL11C.nglDrawElements (10%)
       16%  LevelRenderer.iris$renderTerrainShadows:14696 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1155
               hot: net.irisshaders.iris.shadows.ShadowRenderer.renderShadows:466 (21%), executing GL43C.glDispatchCompute (8.3%)
       14%  LevelRenderer.iris$beginLevelRender:14671 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1149
               hot: net.irisshaders.iris.targets.ClearPass.execute:37 (9.5%), executing GL11C.glClear (9.5%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  3. [cpu] entity_model_features costs 0.13 ms per frame on the render thread
       13% of render-thread CPU time, mostly in world, 98% in its own code (rest is vanilla/library code it called)
       98%  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 (71%), executing EMF_ASM_Parsed_283.eval (71%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  4. [cpu] punchy costs 0.049 ms per frame on the render thread
       5.2% of render-thread CPU time, mostly in client tick, 57% in its own code (rest is vanilla/library code it called)
       62%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 (54%), executing MixinProcessor.applyMixins:325 (19%)
       38%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
               hot: punchy.client.state.MovementStateMachine.beginRenderSample:413 (13%), executing PoseStack.mulPose:50 (6.3%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  5. [cpu] gnetum costs 0.036 ms per frame on the render thread
       3.9% of render-thread CPU time, mostly in hud, 26% in its own code (rest is vanilla/library code it called)
       100%  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] (45%), executing ASMEventHandler.invoke:55 (26%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  6. [cpu] embeddium costs 0.034 ms per frame on the render thread
       3.6% of render-thread CPU time, mostly in world, 17% in its own code (rest is vanilla/library code it called)
       62%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259   <- LevelRenderer.renderChunkLayer:38702
               hot: me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 (39%), executing RenderStateShard.setupRenderState:37 (22%)
       17%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               executing GL20C.nglUniformMatrix4fv (80%)
       10%  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.renderIris:1163 (33%), executing GL11C.glColorMask (33%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  7. [cpu] collections_of_optimizations costs 0.020 ms per frame on the render thread
       2.1% of render-thread CPU time, mostly in client tick, 88% in its own code (rest is vanilla/library code it called)
       12%  com.misanthropy.collections_of_optimizations.core.ZetaWrapperMemo$Memo.apply:45   <- org.violetmoon.zetaimplforge.event.ForgeEventsRemapper.lambda$createForgeConsumer$2:123
       5.9%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$onlyBusyLayers:1065 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource]   <- net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:117
       5.9%  com.Polarice3.Goety.common.events.ItemEvents.coo$memoiseModifierUuid:642 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.goety.MixinItemEvents]   <- com.Polarice3.Goety.common.events.ItemEvents.PlayerTick:141
               hot: com.misanthropy.collections_of_optimizations.core.GoetyModifierCache.uuid:18 (100%), executing ConcurrentHashMap.get (100%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes

FRAMES
  4,297 frames   p50 2.85 ms   p95 3.18 ms   p99 3.64 ms   worst 6.09 ms
  per frame:  tasks 0.011 ms  client tick 0.11 ms  render 0.76 ms  present 1.88 ms  other 0.044 ms
  inside those:  swap 1.88 ms  world 0.62 ms  hud 0.11 ms  screen 0.015 ms
  client tick: 2.00 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 2.56 ms   p95 2.85 ms   p99 2.92 ms

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  2,418 samples: CPU work 33%, GPU wait 67%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 80% of render-thread CPU work, vanilla/forge/driver the rest
  14% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glUniformMatrix4fv; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.18 ms   19%    42%   oculus                       world
  0.13 ms   13%    98%   entity_model_features        world
  0.11 ms   12%    89%   minecraft (vanilla)          world
  0.072 ms  7.7%   100%  forge (loader, events)       world
  0.049 ms  5.2%   57%   punchy                       client tick
  0.036 ms  3.9%   26%   gnetum                       hud
  0.034 ms  3.6%   17%   embeddium                    world
  0.020 ms  2.1%   88%   collections_of_optimizations client tick
  0.016 ms  1.7%   43%   immediatelyfast              world
  0.015 ms  1.6%   0.0%  asyncparticles               world
  0.014 ms  1.5%   67%   xaerolib                     hud
  0.013 ms  1.4%   73%   xaeroworldmap                no phase
  0.013 ms  1.4%   9.1%  entity_texture_features      world
  0.012 ms  1.2%   100%  geckolib                     world
  0.011 ms  1.1%   22%   traveloptics                 hud
  0.21 ms   79 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  oculus  0.18 ms/frame, 19%
    25%   LevelRenderer.iris$beginTranslucents:14834 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1370
          hot GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride] 10%
          executing GL11C.nglDrawElements 10%
    16%   LevelRenderer.iris$renderTerrainShadows:14696 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1155
          hot net.irisshaders.iris.shadows.ShadowRenderer.renderShadows:466 21%
          executing GL43C.glDispatchCompute 8.3%
    14%   LevelRenderer.iris$beginLevelRender:14671 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1149
          hot net.irisshaders.iris.targets.ClearPass.execute:37 9.5%
          executing GL11C.glClear 9.5%
  entity_model_features  0.13 ms/frame, 13%
    98%   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 71%
          executing EMF_ASM_Parsed_283.eval 71%
  minecraft (vanilla)  0.11 ms/frame, 12%, hottest vanilla methods:
    22%   ClientChunkCache.getChunk:30  <- ClientLevel.asyncparticles_animateTick:21586 [mixin wrapMethod from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.animate_tick.MixinClientLevel_AnimateTick]
    15%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    6.3%  GameRenderer.renderLevel:1092  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Matrix3f.invert:783 17%
  punchy  0.049 ms/frame, 5.2%
    62%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 54%
          executing MixinProcessor.applyMixins:325 19%
    38%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
          hot punchy.client.state.MovementStateMachine.beginRenderSample:413 13%
          executing PoseStack.mulPose:50 6.3%
  gnetum  0.036 ms/frame, 3.9%
    100%  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] 45%
          executing ASMEventHandler.invoke:55 26%
  embeddium  0.034 ms/frame, 3.6%
    62%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259  <- LevelRenderer.renderChunkLayer:38702
          hot me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 39%
          executing RenderStateShard.setupRenderState:37 22%
    17%   ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          executing GL20C.nglUniformMatrix4fv 80%
    10%   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.renderIris:1163 33%
          executing GL11C.glColorMask 33%
  collections_of_optimizations  0.020 ms/frame, 2.1%
    12%   com.misanthropy.collections_of_optimizations.core.ZetaWrapperMemo$Memo.apply:45  <- org.violetmoon.zetaimplforge.event.ForgeEventsRemapper.lambda$createForgeConsumer$2:123
    5.9%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$onlyBusyLayers:1065 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource]  <- net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:117
    5.9%  com.Polarice3.Goety.common.events.ItemEvents.coo$memoiseModifierUuid:642 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.goety.MixinItemEvents]  <- com.Polarice3.Goety.common.events.ItemEvents.PlayerTick:141
          hot com.misanthropy.collections_of_optimizations.core.GoetyModifierCache.uuid:18 100%
          executing ConcurrentHashMap.get 100%
  immediatelyfast  0.016 ms/frame, 1.7%
    36%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- blusunrize.immersiveengineering.client.LevelStageRenders.finish:250
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 40%
          executing RenderStateShard.setupRenderState:37 40%
    21%   Gui.endBatching:15209 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]  <- Gui.renderEffects:472
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 100%
          executing GL20C.glUseProgram 33%
    14%   GuiGraphics.drawTexturedQuadIntoBuffer:12329 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.consumer.MixinDrawContext]  <- GuiGraphics.innerBlit
          executing BufferBuilder.endVertex:263 50%

MEMORY AND GC
  allocated 1.2 GB (102 MB/s, exact, all threads), max heap 10.0 GB
  by mod (JFR samples scaled to each thread's exact allocation; 96% of bytes covered):
    21 MB/s   21%    minecraft (vanilla)       258 samples
        11%  EntityRenderDispatcher.shouldRender:127 -> CallbackInfoReturnable
        7.0%  NaturalSpawner.getRandomPosWithin:281 -> BlockPos
        6.0%  Vec3.add:96 -> Vec3
    9 MB/s    9.2%   radium                    47 samples
        38%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        19%  me.jellysquid.mods.lithium.common.util.collections.HashedReferenceList.<init>:27 -> Object;
        14%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    9 MB/s    8.7%   oculus                    27 samples
        15%  net.irisshaders.iris.pipeline.IrisRenderingPipeline.setPhase:811 -> [B
        7.4%  net.irisshaders.iris.pipeline.IrisRenderingPipeline.setPhase:811 -> String
        7.4%  net.irisshaders.iris.pipeline.PipelineManager.getPipeline:56 -> Optional
    5 MB/s    4.5%   punchy                    14 samples
        14%  punchy.client.animation.data.AnimationClip.isEffectActive:156 -> TreeMap$AscendingSubMap$AscendingEntrySetView
        14%  LevelRenderer.punchy$renderReleasedItemParticles:11107 [mixin handler from punchy.mixin.client.LevelRendererMixin] -> Object;
        7.1%  punchy.client.animation.data.AnimationClip.isEffectActive:156 -> TreeMap$NavigableSubMap$SubMapEntryIterator
    4 MB/s    4.2%   entity_model_features     13 samples
        46%  traben.entity_model_features.models.animation.math.EMFMath.setEntityVariable:92 -> Float
        23%  traben.entity_model_features.models.animation.math.EMFMath.getEntityVariable:99 -> Float
        7.7%  traben.entity_model_features.models.animation.math.asm.ASMAnimationHandler.lambda$buildVarSupplier$22:232 -> [F
    3 MB/s    2.7%   embeddium                 15 samples
        23%  me.jellysquid.mods.sodium.client.render.chunk.lists.SortedRenderLists.iterator:19 -> ReversibleObjectArrayIterator
        14%  me.jellysquid.mods.sodium.client.render.chunk.lists.VisibleChunkCollector.<init>:30 -> Object;
        12%  me.jellysquid.mods.sodium.client.render.chunk.compile.executor.ChunkJobCollector.<init>:13 -> ArrayList
    3 MB/s    2.6%   immediatelyfast           8 samples
        25%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.<init>:40 -> Object;
        13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> CallbackInfo
        13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
    3 MB/s    2.6%   gnetum                    8 samples
        25%  ForgeGui.gnetum$invokeWrapperSafe:3655 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] -> 265774964
        25%  me.decce.gnetum.PassManager.cachingDisabled -> 1248680071
        13%  me.decce.gnetum.FramebufferManager.blit:99 -> Matrix4f
    2 MB/s    2.2%   alexscaves                7 samples
        59%  com.github.alexmodguy.alexscaves.server.level.biome.BiomeSampler.sampleBiomesVec3Quart:46 -> Vec3
        27%  com.github.alexmodguy.alexscaves.server.entity.util.MagnetUtil.getMovingBlockCollisions:309 -> ArrayList
        14%  Entity.ac_collide:51746 [mixin handler from com.github.alexmodguy.alexscaves.mixin.EntityMixin] -> AABB
    2 MB/s    1.9%   entity_texture_features   6 samples
        17%  net.irisshaders.batchedentityrendering.impl.FullyBufferedMultiBufferSource.etf$injectIntoGetBufferReturn:559 [mixin handler from traben.entity_texture_features.mixin.mixins.mods.iris.MixinFullyBufferedMultiBufferSource] -> URenderTypeToVertexConsumer
        17%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.etf$injectIntoGetBufferReturn:536 [mixin handler from traben.entity_texture_features.mixin.mixins.mods.imediatelyfast.MixinBatchableBufferSource] -> URenderTypeToVertexConsumer
        17%  traben.entity_texture_features.features.state.ETFEntityRenderStateViaReference.cacheEntityNBTForState:194 -> Optional

INTEGRATED SERVER (single player; this is world lag, not FPS)
  243 ticks, mspt mean 6.41 ms, p50 6.36 ms, p95 8.52 ms, worst 12 ms, 0 over 50 ms
    1.38 ms/tick  21%    minecraft (vanilla)       
    0.55 ms/tick  8.5%   eeeabsmobs                com.eeeab.eeeabsmobs.sever.entity.mob.relicron.EntityRelicObserver.tick:174
    0.42 ms/tick  6.6%   linggango_tweaks          com.misanthropy.linggango.linggango_tweaks.tweak.gate.MobStages.onPotentialSpawns:130
    0.38 ms/tick  6.0%   radium                    WeightedRandomList.init:528 [mixin handler from me.jellysquid.mods.lithium.mixin.collections.mob_spawning.PoolMixin]
    0.28 ms/tick  4.4%   pehkui                    Entity.pehkui$tick:34737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.24 ms/tick  3.8%   forge (loader, events)    
    0.22 ms/tick  3.5%   ending_library            ServerEntity.tickCheckCapData:2581 [mixin handler from com.mega.endinglib.mixin.capability.ServerEntityMixin]
    0.20 ms/tick  3.2%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityBison.tick:182

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 0.67 of 16 cores, whole machine 19% busy
  cores  n    allocated   group                            runs
  0.35   1    753 MB      Render thread                    entity_model_features 30%, minecraft 14%, punchy 7.4%
  0.14   1    408 MB      Server thread                    minecraft 28%, radium 6.0%, eeeabsmobs 5.0%
  0.08   1    55 MB       JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity tick:
    7.78 ms/s  20/s     389 us   minecraft:player                            worst 1.41 ms at 665, 193, -1746
    3.78 ms/s  260/s    15 us    ars_nouveau:starbuncle                      worst 0.12 ms at 625, 66, -1819
    1.64 ms/s  80/s     20 us    ars_nouveau:whirlisprig                     worst 0.12 ms at 621, 69, -1684
  server entity tick:
    7.96 ms/s  246/s    32 us    eeeabsmobs:relic_observer                   worst 0.36 ms at 922, 15, -1058
    6.42 ms/s  251/s    26 us    alexsmobs:bison                             worst 0.21 ms at 701, 69, -1742
    4.33 ms/s  191/s    23 us    eeeabsmobs:relic_ripper                     worst 0.23 ms at 912, -16, -1072
    4.14 ms/s  119/s    35 us    ars_nouveau:whirlisprig                     worst 0.21 ms at 923, 141, -1270
    3.88 ms/s  99/s     39 us    minecraft:zombie                            worst 0.63 ms at 675, 69, -1745
    3.75 ms/s  113/s    33 us    minecraft:creeper                           worst 0.19 ms at 655, 69, -1731
    3.44 ms/s  179/s    19 us    terramity:cave_gnome                        worst 0.16 ms at 676, 68, -1748
    2.92 ms/s  97/s     30 us    terramity:green_fairy                       worst 0.16 ms at 679, 68, -1754
  server block entity tick:
    2.72 ms/s  11,912/s 0 us     minecraft:sculk_sensor                      worst 0.052 ms at 876, 29, -993
    1.10 ms/s  3,938/s  0 us     minecraft:sculk_catalyst                    worst 0.15 ms at 775, -34, -963
  screen:
    5.30 ms/s  60/s     89 us    net.minecraft.client.gui.screens.ChatScreen worst 0.25 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.05 ms total (last: ThreadDump)
  log output: 0.0 lines/s
  exceptions thrown: 129.4/s, top: 56.5/s  ClassNotFoundException from tooltipoverhaul at Screen.to$emiRecord:5826 [mixin handler from dev.xylonity.tooltipoverhaul.mixin.ScreenRecorderMixin]

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

RECORDING
  stack sampler every 5 ms: 2,418 render-thread, 317 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 266 CPU samples, 1,196 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
