WhatsLaggin report (manual)  41.2 s recorded, ended 2026-10-23 03:06:37
Minecraft 1.20.1, Forge 47.4.20, 462 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.10.1.261008
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, 344 entities loaded

VERDICT
  265 fps average (3.78 ms per frame), 1% low 50 fps, 0.1% low 31 fps.
  CPU-BOUND: the render thread is busy for 3.71 ms of each frame; the GPU wait is only 0.067 ms. Cutting render-thread work raises FPS directly.
  22 stutters over 20 ms (32.0 per minute), worst 60 ms. Biggest cause: unexplained (client tick).

WHAT TO FIX (ranked by time lost per second of play)
  1. [cpu] immediatelyfast costs 0.37 ms per frame on the render thread
       9.9% of render-thread CPU time, mostly in world, 23% in its own code (rest is vanilla/library code it called)
       74%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (46%), executing GL15C.nglBufferSubData (38%)
       10%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- GuiGraphics.flush:125
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (75%), executing RenderStateShard.clearRenderState:41 (10%)
       5.9%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135   <- LevelRenderer.renderLevel:1341
               hot: VertexBuffer.optimizeVertexDataUploading:546 [mixin redirect from net.raphimc.immediatelyfast.injection.mixins.fast_buffer_upload.MixinVertexBuffer] (13%), executing GL15C.nglBufferSubData (15%)
       removing this cost entirely: about 265 -> 293 fps
  2. [cpu] collections_of_optimizations costs 0.34 ms per frame on the render thread
       9.3% of render-thread CPU time, mostly in world, 93% in its own code (rest is vanilla/library code it called)
       33%  com.misanthropy.collections_of_optimizations.core.GeckoFastCube.tryRender:77   <- software.bernie.geckolib.renderer.GeoRenderer.renderCube:533
       13%  KeyframeAnimations.coo$leanAnimate:537 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinKeyframeAnimations]   <- KeyframeAnimations.animate
               hot: HierarchicalModel.coo$cachePartLookup:535 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinHierarchicalModelParts] (30%), executing Object2ObjectOpenHashMap.get:316 (6.1%)
       10%  com.github.L_Ender.lionfishapi.client.model.tools.AdvancedModelBox.coo$renderThroughWriter:620 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.lionfishapi.MixinLionfishModelBoxRender]   <- com.github.L_Ender.lionfishapi.client.model.tools.AdvancedModelBox.doRender
               hot: com.misanthropy.collections_of_optimizations.core.CitadelModelVertices.emit:69 (88%)
       removing this cost entirely: about 265 -> 291 fps
  3. [stutter] Stutter: unexplained (client tick)
       20 frames over 20 ms, worst 28 ms, 535 ms of extra frame time per minute
  4. [tick] Each client tick takes 7.84 ms
       20 ticks a second run inline on the render thread, so 20 frames a second each take 7.84 ms longer than the rest (uneven frame pacing).
       collections_of_optimizations 0.51 ms per tick
       goety 0.39 ms per tick
       pehkui 0.45 ms per tick
       linggango_tweaks 0.27 ms per tick
       opposing_force 0.12 ms per tick
  5. [cpu] geckolib costs 0.29 ms per frame on the render thread
       7.8% of render-thread CPU time, mostly in world, 65% in its own code (rest is vanilla/library code it called)
       96%  software.bernie.geckolib.renderer.GeoEntityRenderer.render:157   <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
               hot: software.bernie.geckolib.util.RenderUtils.rotateMatrixAroundCube:61 (8.6%), executing PoseStack.mulPose:50 (22%)
       removing this cost entirely: about 265 -> 287 fps
  6. [cpu] embeddium costs 0.21 ms per frame on the render thread
       5.6% of render-thread CPU time, mostly in world, 75% in its own code (rest is vanilla/library code it called)
       32%  me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.sort:29   <- BufferBuilder.putSortedQuadIndices:6098
               hot: me.jellysquid.mods.sodium.client.util.sorting.InsertionSort.insertionSort:25 (29%)
       21%  net.caffeinemc.mods.sodium.api.math.MatrixHelper.rotateZYX:126   <- ModelPart.translateAndRotate:3614
               executing Matrix4f.rotateAffineZYX:5536 (66%)
       9.4%  ShaderInstance.uploadUniforms:4132 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               hot: Uniform.sodium$matchesLastUpload:2184 [mixin merged from me.jellysquid.mods.sodium.mixin.features.shader.uniform.UniformMixin] (29%), executing GL20C.nglUniform1fv (17%)
       removing this cost entirely: about 265 -> 280 fps
  7. [cpu] flerovium costs 0.19 ms per frame on the render thread
       5.0% of render-thread CPU time, mostly in world, 88% in its own code (rest is vanilla/library code it called)
       69%  ModelPart.onRender:1031 [mixin handler from com.moepus.flerovium.mixins.Entity.ModelPartMixin]   <- ModelPart.render
               hot: com.moepus.flerovium.functions.FastEntityRenderer.renderCuboids:123 (37%), executing ModelPart.translateAndRotate:3620 (1.4%)
       12%  ItemRenderer.onRrenderModelLists:1054 [mixin modify from com.moepus.flerovium.mixins.Item.ItemRendererMixin]   <- ItemRenderer.render:147
               hot: com.moepus.flerovium.functions.FastSimpleBakedModelRenderer.renderQuadList:140 (56%), executing Float.intBitsToFloat (2.0%)
       9.6%  ItemEntityRenderer.skipSuperRender:550 [mixin redirect from com.moepus.flerovium.mixins.Item.ItemEntityRenderMixin]   <- ItemEntityRenderer.render:99
               executing ASMEventHandler.invoke:55 (33%)
       removing this cost entirely: about 265 -> 279 fps
  8. [stutter] Stutter: GC pause (G1 Young Generation)
       4 frames over 20 ms, worst 60 ms, 225 ms of extra frame time per minute
       allocation 452 MB/s; 5 collections, worst 56 ms
       85 MB/s geckolib (19%): software.bernie.geckolib.renderer.GeoRenderer.renderCubesOfBone:268 -> Matrix4f
       48 MB/s minecraft (11%): PoseStack.pushPose:541 -> Matrix4f
       44 MB/s immediatelyfast (9.7%): net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  9. [world] minecraft:item (entity render) costs 32 ms every second
       347,204 calls, 4 us each, worst 5.60 ms at 2533, 310, 772
 10. [cpu] goety costs 0.088 ms per frame on the render thread
       2.4% of render-thread CPU time, mostly in world, 27% in its own code (rest is vanilla/library code it called)
       36%  Minecraft.shouldEntityAppearGlowing:25971 [mixin handler from com.Polarice3.Goety.mixin.MinecraftMixin]   <- Minecraft.shouldEntityAppearGlowing
               hot: com.Polarice3.Goety.utils.WandUtil.findWand:61 (40%), executing Player.getItemBySlot (93%)
       5.2%  Entity.fireImmune:31719 [mixin handler from com.Polarice3.Goety.mixin.EntityMixin]   <- Entity.fireImmune
               hot: com.Polarice3.Goety.utils.CuriosFinder.findCurio (100%)
       4.7%  com.Polarice3.Goety.utils.MiscCapHelper.getMobTarget:152   <- com.k1sak1.goetyawaken.client.ClientEvents.onEntityTick:245
               hot: com.Polarice3.Goety.utils.MiscCapHelper.getCapability:24 (100%), executing ICapabilityProvider.getCapability:33 (89%)
       removing this cost entirely: about 265 -> 271 fps

FRAMES
  10,903 frames   p50 2.92 ms   p95 11 ms   p99 18 ms   worst 60 ms
  per frame:  tasks 0.052 ms  client tick 0.59 ms  render 2.98 ms  present 0.069 ms  other 0.079 ms
  inside those:  swap 0.067 ms  world 2.75 ms  hud 0.19 ms  screen 0.003 ms
  client tick: 7.84 ms per tick, 20.0 ticks per second
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.039 ms  2.0%  sky and frame setup   (p95 0.041 ms)
    0.038 ms  2.0%  solid terrain   (p95 0.081 ms)
    0.030 ms  1.5%  cutout mipped terrain   (p95 0.031 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.59 ms  31%  entities   (p95 1.15 ms)
    0.27 ms  14%  block entities   (p95 0.44 ms)
    0.097 ms  5.1%  translucent terrain   (p95 0.33 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.001 ms)
    0.007 ms  0.4%  particles   (p95 0.020 ms)
    0.044 ms  2.3%  weather and clouds   (p95 0.046 ms)
    0.003 ms  0.2%  end of level render   (p95 0.011 ms)
    0.34 ms  18%  hand and post effects   (p95 0.48 ms)
    0.22 ms  12%  hud   (p95 0.32 ms)
    0.23 ms  12%  screens and rest of frame   (p95 0.88 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  8,202 samples: CPU work 98%, GPU wait 2.0%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 86% of render-thread CPU work, vanilla/forge/driver the rest
  10.0% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glBufferSubData; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.39 ms   11%    94%   minecraft (vanilla)          world
  0.37 ms   9.9%   23%   immediatelyfast              world
  0.34 ms   9.3%   93%   collections_of_optimizations world
  0.29 ms   7.8%   65%   geckolib                     world
  0.21 ms   5.6%   75%   embeddium                    world
  0.19 ms   5.0%   88%   flerovium                    world
  0.14 ms   3.8%   100%  forge (loader, events)       world
  0.088 ms  2.4%   27%   goety                        world
  0.085 ms  2.3%   97%   pehkui                       world
  0.083 ms  2.3%   45%   linggango_tweaks             world
  0.068 ms  1.8%   18%   oculus                       world
  0.067 ms  1.8%   37%   opposing_force               world
  0.055 ms  1.5%   56%   brute_force_culling_revived  world
  0.049 ms  1.3%   26%   legendary_monsters           world
  0.048 ms  1.3%   30%   modernfix                    world
  1.23 ms   168 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.39 ms/frame, 11%, hottest vanilla methods:
    14%   EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    11%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    7.4%  Entity.fireImmune:1142  <- LevelRenderer.wrap_renderEntity_FancyMenu:21161 [mixin wrapOperation from de.keksuccino.fancymenu.mixin.mixins.common.client.MixinLevelRenderer]
  immediatelyfast  0.37 ms/frame, 9.9%
    74%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 46%
          executing GL15C.nglBufferSubData 38%
    10%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- GuiGraphics.flush:125
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 75%
          executing RenderStateShard.clearRenderState:41 10%
    5.9%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135  <- LevelRenderer.renderLevel:1341
          hot VertexBuffer.optimizeVertexDataUploading:546 [mixin redirect from net.raphimc.immediatelyfast.injection.mixins.fast_buffer_upload.MixinVertexBuffer] 13%
          executing GL15C.nglBufferSubData 15%
  collections_of_optimizations  0.34 ms/frame, 9.3%
    33%   com.misanthropy.collections_of_optimizations.core.GeckoFastCube.tryRender:77  <- software.bernie.geckolib.renderer.GeoRenderer.renderCube:533
    13%   KeyframeAnimations.coo$leanAnimate:537 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinKeyframeAnimations]  <- KeyframeAnimations.animate
          hot HierarchicalModel.coo$cachePartLookup:535 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinHierarchicalModelParts] 30%
          executing Object2ObjectOpenHashMap.get:316 6.1%
    10%   com.github.L_Ender.lionfishapi.client.model.tools.AdvancedModelBox.coo$renderThroughWriter:620 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.lionfishapi.MixinLionfishModelBoxRender]  <- com.github.L_Ender.lionfishapi.client.model.tools.AdvancedModelBox.doRender
          hot com.misanthropy.collections_of_optimizations.core.CitadelModelVertices.emit:69 88%
  geckolib  0.29 ms/frame, 7.8%
    96%   software.bernie.geckolib.renderer.GeoEntityRenderer.render:157  <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
          hot software.bernie.geckolib.util.RenderUtils.rotateMatrixAroundCube:61 8.6%
          executing PoseStack.mulPose:50 22%
  embeddium  0.21 ms/frame, 5.6%
    32%   me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.sort:29  <- BufferBuilder.putSortedQuadIndices:6098
          hot me.jellysquid.mods.sodium.client.util.sorting.InsertionSort.insertionSort:25 29%
    21%   net.caffeinemc.mods.sodium.api.math.MatrixHelper.rotateZYX:126  <- ModelPart.translateAndRotate:3614
          executing Matrix4f.rotateAffineZYX:5536 66%
    9.4%  ShaderInstance.uploadUniforms:4132 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          hot Uniform.sodium$matchesLastUpload:2184 [mixin merged from me.jellysquid.mods.sodium.mixin.features.shader.uniform.UniformMixin] 29%
          executing GL20C.nglUniform1fv 17%
  flerovium  0.19 ms/frame, 5.0%
    69%   ModelPart.onRender:1031 [mixin handler from com.moepus.flerovium.mixins.Entity.ModelPartMixin]  <- ModelPart.render
          hot com.moepus.flerovium.functions.FastEntityRenderer.renderCuboids:123 37%
          executing ModelPart.translateAndRotate:3620 1.4%
    12%   ItemRenderer.onRrenderModelLists:1054 [mixin modify from com.moepus.flerovium.mixins.Item.ItemRendererMixin]  <- ItemRenderer.render:147
          hot com.moepus.flerovium.functions.FastSimpleBakedModelRenderer.renderQuadList:140 56%
          executing Float.intBitsToFloat 2.0%
    9.6%  ItemEntityRenderer.skipSuperRender:550 [mixin redirect from com.moepus.flerovium.mixins.Item.ItemEntityRenderMixin]  <- ItemEntityRenderer.render:99
          executing ASMEventHandler.invoke:55 33%
  goety  0.088 ms/frame, 2.4%
    36%   Minecraft.shouldEntityAppearGlowing:25971 [mixin handler from com.Polarice3.Goety.mixin.MinecraftMixin]  <- Minecraft.shouldEntityAppearGlowing
          hot com.Polarice3.Goety.utils.WandUtil.findWand:61 40%
          executing Player.getItemBySlot 93%
    5.2%  Entity.fireImmune:31719 [mixin handler from com.Polarice3.Goety.mixin.EntityMixin]  <- Entity.fireImmune
          hot com.Polarice3.Goety.utils.CuriosFinder.findCurio 100%
    4.7%  com.Polarice3.Goety.utils.MiscCapHelper.getMobTarget:152  <- com.k1sak1.goetyawaken.client.ClientEvents.onEntityTick:245
          hot com.Polarice3.Goety.utils.MiscCapHelper.getCapability:24 100%
          executing ICapabilityProvider.getCapability:33 89%
  pehkui  0.085 ms/frame, 2.3%
    54%   EntityRenderDispatcher.pehkui$render$before:9026 [mixin handler from virtuoel.pehkui.mixin.client.compat115plus.EntityRenderDispatcherMixin]  <- EntityRenderDispatcher.render:140
          hot virtuoel.pehkui.api.ScaleData.calculateScaleForTick:309 34%
          executing Float2FloatFunction.get:51 34%
    28%   Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]  <- Entity.tick
    5.4%  Entity.pehkui$updateSubmergedInWaterState$offset:40589 [mixin modifyExpressionValue from virtuoel.pehkui.mixin.compat1204minus.compat116plus.EntityMixin]  <- Entity.updateFluidOnEyes:1239
          hot virtuoel.pehkui.api.ScaleType.getScaleData:37 50%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  20      28 ms     535 ms      unexplained (client tick)
  4       60 ms     225 ms      GC pause (G1 Young Generation)
  1       45 ms     62 ms       GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
  1       22 ms     28 ms       radium: EntitySectionStorage.forEachInBox [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
  1       22 ms     28 ms       primitive_mobs: com.misanthropy.primitive_mobs.client.renderer.ThrownBlockRenderer.render
  1       21 ms     27 ms       unexplained (render)
  1       21 ms     27 ms       pehkui: Entity.pehkui$tick [mixin handler from virtuoel.pehkui.mixin.EntityMixin]

  worst frames:
  03:06:18.947  60 ms    render 60 ms          GC pause (G1 Young Generation)
                             56 ms of the frame was a stop-the-world collection
  03:06:10.762  45 ms    render 45 ms          GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
                             38 ms of the frame was a stop-the-world collection
  03:06:18.475  39 ms    render 39 ms          GC pause (G1 Young Generation)
                             33 ms of the frame was a stop-the-world collection
  03:06:09.583  38 ms    render 29 ms          GC pause (G1 Young Generation)
                             24 ms of the frame was a stop-the-world collection
  03:05:58.994  29 ms    render 28 ms          GC pause (G1 Young Generation)
                             20 ms of the frame was a stop-the-world collection
  03:06:04.173  28 ms    client tick 18 ms     unexplained (client tick)
                             6 samples, no single owner
  03:05:59.766  24 ms    client tick 13 ms     unexplained (client tick)
                             5 samples, no single owner
  03:06:09.819  23 ms    client tick 16 ms     unexplained (client tick)
                             5 samples, no single owner
  03:06:10.020  22 ms    client tick 14 ms     unexplained (client tick)
                             5 samples, no single owner
  03:05:58.417  22 ms    client tick 14 ms     radium: EntitySectionStorage.forEachInBox [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
                             2 of 5 samples, hottest line EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]

MEMORY AND GC
  allocated 18.2 GB (452 MB/s, exact, all threads), max heap 10.0 GB
  5 GC pauses (0 old/full), 137 ms paused (0.3%), worst 56 ms, one every 8.2 s
  longest pauses:
    03:06:18.944  56 ms  G1 Young Generation, G1 Evacuation Pause
    03:06:18.468  33 ms  G1 Young Generation, G1 Evacuation Pause
    03:06:09.577  24 ms  G1 Young Generation, G1 Evacuation Pause
    03:05:58.989  20 ms  G1 Young Generation, G1 Evacuation Pause
  1 Remark/Cleanup pauses (concurrent mark cycles, not in the count above), 38 ms paused, worst 38 ms
  heap after GC 4.1 GB (41% of max, old garbage stays until the next marking cycle), changed by -267056280 B over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 99% of bytes covered):
    85 MB/s   19%    geckolib                  1,006 samples
        15%  software.bernie.geckolib.renderer.GeoRenderer.renderCubesOfBone:268 -> Matrix4f
        11%  software.bernie.geckolib.core.animation.AnimationController.getAnimationPointAtTick:885 -> AnimationPoint
        10%  software.bernie.geckolib.renderer.GeoRenderer.renderCubesOfBone:268 -> Matrix3f
    48 MB/s   11%    minecraft (vanilla)       1,083 samples
        9.6%  PoseStack.pushPose:541 -> Matrix4f
        8.8%  LivingEntityRenderer.render:130 -> CallbackInfo
        7.4%  PoseStack.pushPose:541 -> Matrix3f
    44 MB/s   9.7%   immediatelyfast           519 samples
        52%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
        12%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        7.3%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f;
    35 MB/s   7.7%   opposing_force            416 samples
        12%  com.unusualmodding.opposing_force.client.models.entity.skyvern.SkyvernBodyModel.setupAnim:80 -> ReferencePipeline$Head
        6.0%  com.unusualmodding.opposing_force.client.renderer.layers.RamblerSkullLayer.onlyDrawSelectedPart:45 -> ReferencePipeline$Head
        5.8%  com.unusualmodding.opposing_force.client.renderer.layers.RamblerSkullLayer.resetDrawForAllParts:50 -> ReferencePipeline$Head
    18 MB/s   4.0%   embeddium                 427 samples
        23%  me.jellysquid.mods.sodium.client.util.sorting.AbstractSort.createIndexBuffer:6 -> [I
        21%  me.jellysquid.mods.sodium.client.util.sorting.RadixSort.radixSortDescending:12 -> [I
        20%  me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.mergeSort:33 -> [F
    15 MB/s   3.4%   pehkui                    183 samples
        30%  virtuoel.pehkui.api.ScaleData.calculateScaleForTick:309 -> Float
        16%  virtuoel.pehkui.api.TypedScaleModifier.getType -> 304235332
        13%  EntityRenderDispatcher.pehkui$render$before:9031 [mixin handler from virtuoel.pehkui.mixin.client.compat115plus.EntityRenderDispatcherMixin] -> Matrix4f
    14 MB/s   3.1%   legendary_monsters        191 samples
        9.8%  net.miauczel.legendary_monsters.entity.client.Model.ResurrectedKnightModel.setupAnim:113 -> ReferencePipeline$Head
        7.3%  net.miauczel.legendary_monsters.entity.client.Model.AmbusherModel.setupAnim:87 -> ReferencePipeline$Head
    10 MB/s   2.3%   radium                    151 samples
        26%  me.jellysquid.mods.lithium.common.shapes.VoxelShapeSimpleCube.move:48 -> VoxelShapeSimpleCube
        20%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        12%  me.jellysquid.mods.lithium.common.entity.LithiumEntityCollisions.getBlockCollisions:40 -> ChunkAwareBlockCollisionSweeper
    10 MB/s   2.3%   asyncparticles            750 samples
        13%  forge.fun.qu_an.minecraft.asyncparticles.client.util.IterationSafeArrayList.listIterator:163 -> IterationSafeArrayList$ListItr
        12%  SingleQuadParticle.redirectGetLightColor:2029 [mixin redirect from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.compat.forge.flerovium.MixinSingleQuadParticleMixin] -> 1141837434
        11%  ParticleEngine.lambda$tickTail$3:13672 [mixin merged from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.gpu_acceleration.MixinParticleEngine] -> AABB
    10 MB/s   2.2%   flerovium                 120 samples
        36%  com.moepus.flerovium.functions.FastEntityRenderer.render:106 -> CallbackInfo
        17%  com.moepus.flerovium.functions.FastSimpleBakedModelRenderer.renderQuadList:137 -> ImmutableCollections$ListItr
        12%  ItemEntityRenderer.skipSuperRender:549 [mixin redirect from com.moepus.flerovium.mixins.Item.ItemEntityRenderMixin] -> Style

INTEGRATED SERVER (single player; this is world lag, not FPS)
  823 ticks, mspt mean 18 ms, p50 15 ms, p95 29 ms, worst 196 ms, 4 over 50 ms
    1.85 ms/tick  11%    collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    1.24 ms/tick  7.1%   minecraft (vanilla)       
    1.08 ms/tick  6.1%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.79 ms/tick  4.5%   goety                     com.Polarice3.Goety.common.entities.ally.Summoned.tick:116
    0.66 ms/tick  3.7%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.61 ms/tick  3.5%   forge (loader, events)    
    0.57 ms/tick  3.2%   ending_library            Level.guardEntityTick:14052 [mixin handler from com.mega.endinglib.mixin.time.time.LevelMixin]
    0.52 ms/tick  3.0%   cataclysm                 com.github.L_Ender.cataclysm.entity.InternalAnimationMonster.Kobolediator_Entity.tick:341

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.47 of 16 cores, whole machine 27% busy
  cores  n    allocated   group                            runs
  0.95   1    14.4 GB     Render thread                    collections_of_optimizations 16%, minecraft 7.6%, geckolib 7.5%
  0.32   1    2.6 GB      Server thread                    minecraft 11%, collections_of_optimizations 10%, radium 7.1%
  0.03   10   10 MB       Flywheel Task Executor ##        too few samples
  0.02   1    485 KB      whatslaggin-threads              no JFR samples (idle or native)
  0.02   1    238 MB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    32 ms/s    8,427/s  4 us     minecraft:item                              worst 5.60 ms at 2533, 310, 772
    16 ms/s    177/s    90 us    born_in_chaos_v1:nightmare_stalker          worst 6.35 ms at 2517, 310, 777
    15 ms/s    605/s    25 us    born_in_chaos_v1:baby_spider                worst 0.60 ms at 2546, 310, 759
    13 ms/s    529/s    25 us    terramity:gob                               worst 0.43 ms at 2505, 310, 802
    12 ms/s    529/s    23 us    terramity:uvogre                            worst 0.45 ms at 2552, 310, 777
    12 ms/s    227/s    52 us    cataclysm:ignited_revenant                  worst 1.05 ms at 2519, 310, 782
    11 ms/s    2,528/s  5 us     opposing_force:skyvern_segment              worst 0.34 ms at 2455, 327, 794
    11 ms/s    160/s    67 us    born_in_chaos_v1:mother_spider              worst 2.72 ms at 2556, 310, 769
  entity tick:
    14 ms/s    20/s     683 us   minecraft:player                            worst 2.86 ms at 2527, 310, 778
    8.39 ms/s  1,819/s  5 us     minecraft:item                              worst 1.05 ms at 2523, 310, 793
    3.64 ms/s  136/s    27 us    born_in_chaos_v1:baby_spider                worst 0.30 ms at 2563, 310, 771
    3.37 ms/s  103/s    33 us    terramity:royal_gnome                       worst 3.84 ms at 2514, 310, 790
    2.63 ms/s  400/s    7 us     mutantmonsters:body_part                    worst 0.49 ms at 2539, 310, 772
  server entity tick:
    9.47 ms/s  1,941/s  5 us     minecraft:item                              worst 1.02 ms at 2510, 310, 787
    8.54 ms/s  108/s    79 us    terramity:royal_gnome                       worst 1.75 ms at 2509, 310, 796
    7.88 ms/s  148/s    53 us    born_in_chaos_v1:baby_spider                worst 3.36 ms at 2552, 310, 773
    7.19 ms/s  38/s     191 us   terramity:gob                               worst 56 ms at 2505, 310, 801
    6.48 ms/s  820/s    8 us     opposing_force:skyvern_segment              worst 0.69 ms at 2455, 327, 794
    5.13 ms/s  59/s     88 us    cataclysm:aptrgangr                         worst 1.87 ms at 2564, 310, 773
    5.07 ms/s  38/s     132 us   born_in_chaos_v1:nightmare_stalker          worst 0.48 ms at 2526, 310, 787
    5.03 ms/s  45/s     111 us   mythsandlegends:possessed_armor             worst 3.71 ms at 2519, 310, 798
  screen:
    0.68 ms/s  8/s      85 us    net.minecraft.client.gui.screens.ChatScreen worst 0.40 ms

JVM AND I/O
  class loads over 1 ms: 32 (90 ms), on the render/server thread 32 (90 ms)
    by owner: terramity 18 classes, 53 ms; ftbquests 2 classes, 9.22 ms; born_in_chaos_v1 3 classes, 8.63 ms; goety 2 classes, 8.21 ms; irons_spellbooks 2 classes, 2.95 ms
  render thread file I/O: 58 ms in 19 events, modernfix at ModelManager.lambda$deferBlockModelLoad$0:561 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin] (1.20.1-20230612.114412/client-1.20.1-20230612.114412-extra.jar)
  render thread lock: 5.17 ms in 2 events, modernfix at ModelManager.lambda$deferBlockModelLoad$0:561 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin] (Object)
  render thread file I/O: 4.68 ms in 2 events, geckolib at software.bernie.geckolib.cache.texture.AnimatableTexture.load:45 (1.20.1-20230612.114412/client-1.20.1-20230612.114412-extra.jar)
  render thread file I/O: 2.21 ms in 1 events, primitive_mobs at com.misanthropy.primitive_mobs.client.renderer.ThrownBlockRenderer.render:32 (8.5.9/fastutil-8.5.9.jar)
  render thread lock: 1.72 ms in 1 events, terramity at net.mcreator.terramity.entity.SoulshotProjectileProjectileEntity.onHitBlock:77 (Object)
  non-GC safepoints: 24 ms total (last: ThreadDump)
  log output: 0.1 lines/s
  exceptions thrown: 58.0/s, top: 39.1/s  CommandSyntaxException from terramity at net.mcreator.terramity.WaveEffect.lambda$createShockwave$0:51

MOD VERSIONS (mods named in the findings)
  immediatelyfast 1.5.5+1.20.4;  collections_of_optimizations 5.5;  geckolib 4.8.4;  
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  flerovium 1.2.19;  goety 2.5.58.4;  pehkui 3.8.2+1.20.1-forge;  
  linggango_tweaks 7.38;  opposing_force 1.20.1-2.0.3;  ;  

RECORDING
  stack sampler every 5 ms: 8,202 render-thread, 2,914 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 2,735 CPU samples, 10,523 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
