WhatsLaggin report (manual)  1m13s recorded, ended 2026-09-29 16:04:14
Minecraft 1.20.1, Forge 47.4.20, 483 mods, Java 17.0.8 OpenJDK 64-Bit Server VM, max heap 8.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, 88 entities loaded

VERDICT
  160 fps average (6.26 ms per frame), 1% low 43 fps, 0.1% low 11 fps.
  GPU-BOUND: 4.26 ms of each frame (68%) is the CPU waiting for the GPU. The CPU part is only 2.00 ms.
  Optimising mod code on the render thread will not raise FPS until the GPU load drops.
  15 stutters over 21 ms (12.4 per minute), worst 381 ms. Biggest cause: GPU / driver (buffer swap).

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] GPU-bound: 68% of every frame is spent waiting on the GPU
       The CPU finishes its part of a frame in 2.00 ms and then waits 4.26 ms in glfwSwapBuffers for the GPU.
       GPU time for the frame's draw calls: p50 6.09 ms, p95 8.13 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. [stutter] Stutter: GPU / driver (buffer swap)
       2 frames over 21 ms, worst 381 ms, 396 ms of extra frame time per minute
  3. [stutter] Stutter: unexplained (client tick)
       1 frames over 21 ms, worst 312 ms, 252 ms of extra frame time per minute
  4. [exceptions] 2344 exceptions thrown per second
       Set jfr.exceptions=true in whatslaggin-client.toml to see who throws them.
  5. [stutter] Stutter: unexplained (render)
       2 frames over 21 ms, worst 79 ms, 78 ms of extra frame time per minute
  6. [stutter] Stutter: whole-process stall
       3 frames over 21 ms, worst 39 ms, 66 ms of extra frame time per minute
  7. [screen] ScreenWrapper costs 7.17 ms per frame while open
       dev.ftb.mods.ftblibrary.ui.ScreenWrapper (ftblibrary)
  8. [cpu] oculus costs 0.29 ms per frame on the render thread
       15% of render-thread CPU time, mostly in world, 38% in its own code (rest is vanilla/library code it called)
       17%  LevelRenderer.iris$beginTranslucents:14334 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1370
               hot: net.irisshaders.iris.pathways.HandRenderer.renderSolid:96 (28%), executing GL20C.glUniform1f (4.4%)
       16%  LevelRenderer.iris$beginLevelRender:14171 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1149
               hot: net.irisshaders.iris.uniforms.IrisExclusiveUniforms.lambda$addIrisExclusiveUniforms$8:54 (6.5%), executing ChunkAccess.getHeight:392 (6.5%)
       11%  LevelRenderer.iris$renderTerrainShadows:14196 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1155
               hot: net.irisshaders.iris.pipeline.CompositeRenderer.renderAll:236 (9.9%), executing ASMEventHandler.invoke:55 (7.0%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  9. [cpu] embeddium costs 0.18 ms per frame on the render thread
       9.3% of render-thread CPU time, mostly in world, 55% in its own code (rest is vanilla/library code it called)
       62%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259   <- LevelRenderer.renderChunkLayer:38202
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:137 (44%), executing GL32C.nglMultiDrawElementsBaseVertex (35%)
       21%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:216   <- LevelRenderer.setupRender:38229
               hot: me.jellysquid.mods.sodium.client.world.cloned.ClonedChunkSectionCache.cleanup:31 (16%), executing Collection.removeIf (22%)
       5.0%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               executing GL20C.nglUniformMatrix4fv (43%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
 10. [cpu] xaeroworldmap costs 0.085 ms per frame on the render thread
       4.3% of render-thread CPU time, mostly in no phase, 57% in its own code (rest is vanilla/library code it called)
       97%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.graphics.TextureUploader.uploadTextures:118 (29%), executing GL11C.glFinish (32%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes

FRAMES
  11,583 frames   p50 6.16 ms   p95 8.26 ms   p99 12 ms   worst 381 ms
  per frame:  tasks 0.096 ms  client tick 0.39 ms  render 1.36 ms  present 4.26 ms  other 0.16 ms
  inside those:  swap 4.26 ms  world 0.88 ms  hud 0.33 ms  screen 0.12 ms
  client tick: 3.10 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 6.09 ms   p95 8.13 ms   p99 10 ms

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  14,464 samples: CPU work 31%, GPU wait 69%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 85% of render-thread CPU work, vanilla/forge/driver the rest
  16% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glMultiDrawElementsBaseVertex; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.29 ms   15%    38%   oculus                       world
  0.21 ms   11%    94%   minecraft (vanilla)          world
  0.18 ms   9.3%   55%   embeddium                    world
  0.085 ms  4.3%   57%   xaeroworldmap                no phase
  0.082 ms  4.2%   100%  forge (loader, events)       world
  0.080 ms  4.1%   20%   gnetum                       hud
  0.062 ms  3.2%   53%   linggango_tweaks             client tick
  0.060 ms  3.0%   26%   immediatelyfast              hud
  0.058 ms  3.0%   22%   asyncparticles               tasks
  0.037 ms  1.9%   90%   collections_of_optimizations world
  0.030 ms  1.6%   84%   xaerominimap                 client tick
  0.028 ms  1.4%   63%   brute_force_culling_revived  world
  0.023 ms  1.2%   93%   create                       client tick
  0.023 ms  1.2%   67%   fancymenu                    client tick
  0.021 ms  1.1%   56%   alexsmobs                    world
  0.68 ms   187 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  oculus  0.29 ms/frame, 15%
    17%   LevelRenderer.iris$beginTranslucents:14334 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1370
          hot net.irisshaders.iris.pathways.HandRenderer.renderSolid:96 28%
          executing GL20C.glUniform1f 4.4%
    16%   LevelRenderer.iris$beginLevelRender:14171 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1149
          hot net.irisshaders.iris.uniforms.IrisExclusiveUniforms.lambda$addIrisExclusiveUniforms$8:54 6.5%
          executing ChunkAccess.getHeight:392 6.5%
    11%   LevelRenderer.iris$renderTerrainShadows:14196 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1155
          hot net.irisshaders.iris.pipeline.CompositeRenderer.renderAll:236 9.9%
          executing ASMEventHandler.invoke:55 7.0%
  minecraft (vanilla)  0.21 ms/frame, 11%, hottest vanilla methods:
    12%   ChunkAccess.getHeight:392  <- ClientLevel.asyncparticles_animateTick:21586 [mixin wrapMethod from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.animate_tick.MixinClientLevel_AnimateTick]
    9.5%  LevelRenderer.renderLevel:1201  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing ObjectIterators$UnmodifiableIterator.hasNext:1108 2.2%
    8.7%  BlockBehaviour$BlockStateBase.getLightBlock:551  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.18 ms/frame, 9.3%
    62%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259  <- LevelRenderer.renderChunkLayer:38202
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:137 44%
          executing GL32C.nglMultiDrawElementsBaseVertex 35%
    21%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:216  <- LevelRenderer.setupRender:38229
          hot me.jellysquid.mods.sodium.client.world.cloned.ClonedChunkSectionCache.cleanup:31 16%
          executing Collection.removeIf 22%
    5.0%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          executing GL20C.nglUniformMatrix4fv 43%
  xaeroworldmap  0.085 ms/frame, 4.3%
    97%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.graphics.TextureUploader.uploadTextures:118 29%
          executing GL11C.glFinish 32%
  gnetum  0.080 ms/frame, 4.1%
    100%  ForgeGui.gnetum$render$mixinextras$bridge$65 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3606 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 48%
          executing ASMEventHandler.invoke:55 27%
  linggango_tweaks  0.062 ms/frame, 3.2%
    27%   snownee.jade.util.ClientProxy.onClientTick:163  <- Minecraft.tick:1875
          hot snownee.jade.addon.harvest.HarvestToolProvider.<init> 7.9%
          executing CompoundTag.contains:255 5.3%
    16%   com.misanthropy.linggango.linggango_tweaks.shadowdrop.VertexConsumerWrapper.vertex:65  <- VertexConsumer.putBulkData:112
          executing DirectByteBuffer.put 74%
    15%   snownee.jade.util.ClientProxy.lambda$init$0:113  <- ForgeGui.gnetum$postEvent:3614 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          hot snownee.jade.overlay.DisplayHelper.drawItem:218 14%
          executing Objects.hashCode 23%
  immediatelyfast  0.060 ms/frame, 3.0%
    52%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- GuiGraphics.flush:125
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 72%
          executing RenderStateShard.clearRenderState:41 14%
    13%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135  <- com.misanthropy.linggango.linggango_tweaks.shadowdrop.ShadowBufferSource.flush:39
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 33%
          executing GL15C.nglBufferSubData 17%
    8.8%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBuffer:68  <- blusunrize.immersiveengineering.client.LevelStageRenders.renderObstructingBlocks:218
  asyncparticles  0.058 ms/frame, 3.0%
    41%   TextureManager.lambda$wrapTick$0:2532 [mixin merged from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.deffered_texture_tick.MixinTextureManager]  <- TextureManager.run
          executing TextureAtlas.cycleAnimationFrames:112 87%
    16%   Minecraft.onPostTick:37966 [mixin handler from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.tick.MixinMinecraft]  <- Minecraft.runTick:1112
          hot forge.fun.qu_an.minecraft.asyncparticles.client.addon.LightCachedParticleAddon.asyncparticles$tickLightCache:27 18%
          executing LevelRenderer.getLightColor:2976 9.1%
    16%   LevelRenderer.onRenderLevelHead:3601 [mixin handler from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.gpu_acceleration.MixinLevelRenderer]  <- LevelRenderer.renderLevel
          hot forge.fun.qu_an.minecraft.asyncparticles.client.core.backend.GlCommands$GL.glMultiDrawArrays:125 36%
          executing JNI.callPPV 36%

STUTTERS (frames over 21 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  2       381 ms    396 ms      GPU / driver (buffer swap)
  1       312 ms    252 ms      unexplained (client tick)
  2       79 ms     78 ms       unexplained (render)
  3       39 ms     66 ms       whole-process stall
  1       41 ms     29 ms       linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.tweak.gate.Gates$Gate.isGear
  1       27 ms     18 ms       entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
  1       24 ms     15 ms       unexplained (tasks)
  1       23 ms     14 ms       JVM safepoint for a stack sample (profiler overhead, not your mods)
  1       22 ms     13 ms       flerovium: LevelRenderer.fasterBlockBreakingRendering [mixin redirect from com.moepus.flerovium.mixins.Block.CrumblingRendererMixin]

  worst frames:
  16:03:46.720  381 ms   present 379 ms        GPU / driver (buffer swap)
                             76 of 76 samples waiting in glfwSwapBuffers
  16:03:59.880  312 ms   client tick 196 ms    unexplained (client tick)
                             63 samples, no single owner
  16:03:34.207  111 ms   present 109 ms        GPU / driver (buffer swap)
                             22 of 22 samples waiting in glfwSwapBuffers
  16:03:59.959  79 ms    render 44 ms          unexplained (render)
                             16 samples, no single owner
  16:03:02.310  41 ms    client tick 39 ms     linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.tweak.gate.Gates$Gate.isGear
                             4 of 8 samples, hottest line com.misanthropy.linggango.linggango_tweaks.tweak.gate.Gates$Gate.isGear:37
  16:03:48.008  39 ms    render 34 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:03:42.158  31 ms    present 29 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:03:47.897  29 ms    render 23 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:03:55.015  29 ms    render 22 ms          unexplained (render)
                             6 samples, no single owner
  16:03:42.350  27 ms    render 23 ms          entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
                             4 of 6 samples, hottest line traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf:78

MEMORY AND GC
  allocated 17.6 GB (247 MB/s, exact, all threads), max heap 8.0 GB
  6 GC pauses (0 old/full), 93 ms paused (0.1%), worst 30 ms, one every 12.1 s
  live data after GC 4.1 GB (51% of max), changed by 100 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 100% of bytes covered):
    95 MB/s   28%    jdk                       861 samples
        100%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator
    57 MB/s   17%    elysium_api               2,855 samples
        24%  Block.elysium$soundTransformer:8655 [mixin handler from net.jadenxgamer.elysium_api.impl.mixin.block.BlockMixin] -> ReferencePipeline$2
        20%  Block.elysium$soundTransformer:8655 [mixin handler from net.jadenxgamer.elysium_api.impl.mixin.block.BlockMixin] -> ReferencePipeline$Head
        14%  Block.elysium$soundTransformer:8655 [mixin handler from net.jadenxgamer.elysium_api.impl.mixin.block.BlockMixin] -> Spliterators$IteratorSpliterator
    50 MB/s   15%    minecraft (vanilla)       3,145 samples
        12%  BlockBehaviour$BlockStateBase.isSolidRender -> CallbackInfoReturnable
    23 MB/s   6.7%   embeddium                 1,260 samples
        36%  me.jellysquid.mods.sodium.client.model.light.data.ArrayLightDataCache.get -> CallbackInfoReturnable
        17%  me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute:136 -> Iterators$9
        13%  me.jellysquid.mods.sodium.client.model.light.data.LightDataAccess.getLightmap:177 -> Integer
    16 MB/s   4.6%   fastchunkgen              360 samples
        19%  ChunkMap.lambda$scheduleChunkLoad$3:14032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
        8.9%  ChunkMap.lambda$scheduleChunkLoad$3:14032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> Either$Left
    13 MB/s   3.9%   radium                    493 samples
        60%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        15%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    8 MB/s    2.5%   cheaplighting             653 samples
        43%  me.jellysquid.mods.sodium.client.model.light.data.LightDataAccess.cheaplighting$getLightmap:530 [mixin handler from com.misanthropy.cheaplighting.mixin.sodium.LightDataAccessMixin] -> Integer
        33%  LevelRenderer.onGetLightmapCoordinates:5607 [mixin handler from com.misanthropy.cheaplighting.mixin.CommonLevelRendererMixin] -> CallbackInfoReturnable
        21%  LevelRenderer.onGetLightmapCoordinates:5608 [mixin handler from com.misanthropy.cheaplighting.mixin.CommonLevelRendererMixin] -> Integer
    8 MB/s    2.3%   oculus                    310 samples
        11%  PalettedContainer.sodium$copy:3573 [mixin merged from net.irisshaders.iris.compat.sodium.mixin.copyEntity.CuboidMixin] -> [J
        9.7%  LevelRenderer.lambda$batchedentityrendering$sortEntityList$0:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> Object;
    4 MB/s    1.1%   starcatcher               155 samples
        30%  ItemRenderer.render$mixinextras$bridge$64 [mixin wrapOperation from com.wdiscute.starcatcher.mixin.ItemRendererMixin] -> Vector4f
        28%  ItemRenderer.render$mixinextras$bridge$64 [mixin wrapOperation from com.wdiscute.starcatcher.mixin.ItemRendererMixin] -> DirectByteBuffer
        23%  ItemRenderer.render$mixinextras$bridge$64 [mixin wrapOperation from com.wdiscute.starcatcher.mixin.ItemRendererMixin] -> [F
    3 MB/s    1.0%   asyncparticles            1,116 samples
        21%  ParticleEngine.lambda$tickTail$3:11186 [mixin merged from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.gpu_acceleration.MixinParticleEngine] -> LocalDoubleRefImpl
        19%  ParticleEngine.lambda$tickTail$3:11186 [mixin merged from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.gpu_acceleration.MixinParticleEngine] -> AABB
        14%  forge.fun.qu_an.minecraft.asyncparticles.client.util.IterationSafeArrayList.listIterator:163 -> IterationSafeArrayList$ListItr

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,456 ticks, mspt mean 9.13 ms, p50 8.32 ms, p95 14 ms, worst 61 ms, 3 over 50 ms
    2.71 ms/tick  30%    minecraft (vanilla)       
    0.49 ms/tick  5.4%   forge (loader, events)    
    0.36 ms/tick  4.0%   radium                    ServerLevel.redirectBlockStateTick:3659 [mixin redirect from me.jellysquid.mods.lithium.mixin.alloc.chunk_random.ServerWorldMixin]
    0.27 ms/tick  3.0%   pehkui                    Entity.pehkui$tick:33737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.26 ms/tick  2.9%   servercore                NaturalSpawner.servercore$fastBiomeLookup:2025 [mixin redirect from me.wesley1808.servercore.mixin.optimizations.biome_lookups.NaturalSpawnerMixin]
    0.24 ms/tick  2.6%   mob_spawn_fix             NaturalSpawner.onCheckSpawnPosition:3045 [mixin handler from com.misanthropy.linggango.mob_spawn_fix.mixin.tweaks.gameplay.mob_spawn.SpawnChangesMixin]
    0.23 ms/tick  2.6%   collections_of_optimizations ChunkMap.coo$reuseUnchangedSectionPos$mixinextras$bridge$228 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinChunkMapEntityTracker]
    0.23 ms/tick  2.6%   ending_library            ServerEntity.tickCheckCapData:2581 [mixin handler from com.mega.endinglib.mixin.capability.ServerEntityMixin]

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.05 of 16 cores, whole machine 19% busy
  cores  n    allocated   group                            runs
  0.32   1    3.6 GB      Render thread                    minecraft 14%, xaeroworldmap 5.9%, oculus 5.9%
  0.30   10   6.9 GB      Chunk Render Task Executor ##    embeddium 32%, minecraft 31%, elysium_api 19%
  0.20   1    2.7 GB      Server thread                    minecraft 28%
  0.08   12   2.7 GB      FastChunkGen worker ##           zfastnoise 21%, fastchunkgen 14%, structureessentials 14%

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    3.45 ms/s  87/s     39 us    alexsmobs:raccoon                           worst 2.08 ms at -831, 88, -1960
    2.37 ms/s  5/s      454 us   minecraft:player                            worst 4.21 ms at -1152, -63, -1728
    1.02 ms/s  16/s     63 us    minecraft:skeleton                          worst 0.47 ms at -983, 61, -1949
  entity tick:
    17 ms/s    20/s     839 us   minecraft:player                            worst 3.99 ms at -825, 90, -1937
    1.00 ms/s  41/s     24 us    terramity:green_fairy                       worst 0.26 ms at -1028, 98, -1886
    0.82 ms/s  34/s     24 us    alexsmobs:raccoon                           worst 1.15 ms at -894, 81, -2025
  server entity tick:
    11 ms/s    233/s    46 us    minecraft:zombie                            worst 3.04 ms at -820, 19, -1845
    9.01 ms/s  224/s    40 us    minecraft:skeleton                          worst 1.60 ms at -925, 31, -1904
    7.93 ms/s  195/s    41 us    terramity:green_fairy                       worst 3.25 ms at -897, 87, -1922
    7.01 ms/s  105/s    67 us    ars_nouveau:whirlisprig                     worst 0.78 ms at -1133, 71, -1839
    6.03 ms/s  186/s    32 us    minecraft:creeper                           worst 1.08 ms at -836, 9, -1888
    3.63 ms/s  117/s    31 us    terramity:cave_gnome                        worst 3.13 ms at -901, 12, -1944
    2.76 ms/s  19/s     143 us   cataclysm:the_harbinger                     worst 0.57 ms at -1218, -26, -1653
    2.69 ms/s  23/s     118 us   opposing_force:slug                         worst 2.52 ms at -796, 16, -1896
  screen:
    9.35 ms/s  1/s      7167 us  dev.ftb.mods.ftblibrary.ui.ScreenWrapper    worst 113 ms
    8.52 ms/s  5/s      1628 us  com.misanthropy.linggango.class_enhancement.client.ClassScreen worst 21 ms
    0.51 ms/s  5/s      113 us   net.minecraft.client.gui.screens.ChatScreen worst 0.29 ms

JVM AND I/O
  class loads over 1 ms: 12 (35 ms), on the render/server thread 9 (30 ms)
  non-GC safepoints: 232 ms total (last: RedefineClasses)
  log output: 0.1 lines/s
  exceptions thrown: 2343.8/s

MOD VERSIONS (mods named in the findings)
  oculus 1.8.1;  embeddium 0.3.32-beta.99-dirty+mc1.20.1;  xaeroworldmap 1.46.0;  gnetum 2.5.0+1.20.1-forge;  
  linggango_tweaks 4.52;  immediatelyfast 1.5.5+1.20.4;  ;  ftblibrary 2001.2.13;  

RECORDING
  stack sampler every 5 ms: 14,464 render-thread, 2,702 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints): 3,574 CPU samples, 15,669 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
