WhatsLaggin report (manual)  2m09s recorded, ended 2026-09-29 16:08:19
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, 107 entities loaded

VERDICT
  165 fps average (6.06 ms per frame), 1% low 70 fps, 0.1% low 34 fps.
  GPU-BOUND: 4.40 ms of each frame (73%) is the CPU waiting for the GPU. The CPU part is only 1.66 ms.
  Optimising mod code on the render thread will not raise FPS until the GPU load drops.
  21 stutters over 21 ms (9.8 per minute), worst 49 ms. Biggest cause: whole-process stall.

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] GPU-bound: 73% of every frame is spent waiting on the GPU
       The CPU finishes its part of a frame in 1.66 ms and then waits 4.40 ms in glfwSwapBuffers for the GPU.
       GPU time for the frame's draw calls: p50 6.03 ms, p95 7.27 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: whole-process stall
       8 frames over 21 ms, worst 32 ms, 84 ms of extra frame time per minute
  3. [exceptions] 1066 exceptions thrown per second
       111.4/s  UnionFileSystem$UncheckedIOException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:569 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
       111.4/s  UnionFileSystem$NoSuchFileException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:569 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
       111.4/s  NoSuchFileException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:569 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
       80.9/s  UnionFileSystem$UncheckedIOException from radium at LocalCache.lambda$computeIfAbsent$0:4219 [mixin merged from me.jellysquid.mods.lithium.mixin.ai.poi.PointOfInterestSetMixin]
       80.9/s  UnionFileSystem$NoSuchFileException from radium at LocalCache.lambda$computeIfAbsent$0:4219 [mixin merged from me.jellysquid.mods.lithium.mixin.ai.poi.PointOfInterestSetMixin]
  4. [cpu] oculus costs 0.29 ms per frame on the render thread
       18% of render-thread CPU time, mostly in world, 38% in its own code (rest is vanilla/library code it called)
       16%  LevelRenderer.iris$beginLevelRender:14171 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1149
               hot: kroppeb.stareval.resolver.ExpressionResolver$1.evaluateTo:228 (9.5%), executing JNI.callPV (7.9%)
       16%  LevelRenderer.iris$beginTranslucents:14334 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1370
               hot: net.irisshaders.iris.pathways.HandRenderer.renderSolid:96 (12%), executing GL20C.glUniform1f (6.9%)
       12%  LevelRenderer.batchedentityrendering$beginTranslucents:7155 [mixin handler from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1370
               hot: net.irisshaders.iris.layer.OuterWrappedRenderType.run (14%), executing JNI.callPV (7.5%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  5. [stutter] Stutter: entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
       3 frames over 21 ms, worst 49 ms, 46 ms of extra frame time per minute
  6. [cpu] embeddium costs 0.17 ms per frame on the render thread
       10% of render-thread CPU time, mostly in world, 53% in its own code (rest is vanilla/library code it called)
       57%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259   <- LevelRenderer.renderChunkLayer:38202
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:137 (40%), executing GL32C.nglMultiDrawElementsBaseVertex (33%)
       24%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:216   <- LevelRenderer.setupRender:38229
               hot: me.jellysquid.mods.sodium.client.world.cloned.ClonedChunkSectionCache.cleanup:31 (13%), executing Collection.removeIf (16%)
       4.4%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               executing GL20C.nglUniformMatrix4fv (58%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  7. [stutter] Stutter: vanilla minecraft: ChunkAccess.getHeight
       2 frames over 21 ms, worst 33 ms, 23 ms of extra frame time per minute
  8. [cpu] linggango_tweaks costs 0.063 ms per frame on the render thread
       3.9% of render-thread CPU time, mostly in hud, 39% in its own code (rest is vanilla/library code it called)
       25%  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 (13%), executing BufferBuilder.endVertex:263 (21%)
       21%  snownee.jade.util.ClientProxy.onClientTick:163   <- Minecraft.tick:1875
               hot: snownee.jade.impl.config.PluginConfig.getEntry:83 (11%), executing HashMap.hash (5.4%)
       17%  com.misanthropy.linggango.linggango_tweaks.shadowdrop.VertexConsumerWrapper.vertex:65   <- VertexConsumer.putBulkData:112
               executing BufferBuilder.endVertex:263 (98%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  9. [cpu] gnetum costs 0.061 ms per frame on the render thread
       3.8% of render-thread CPU time, mostly in hud, 29% 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:3606 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (47%), executing ASMEventHandler.invoke:55 (26%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
 10. [cpu] immediatelyfast costs 0.061 ms per frame on the render thread
       3.8% of render-thread CPU time, mostly in hud, 22% in its own code (rest is vanilla/library code it called)
       38%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- GuiGraphics.flush:125
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (67%), executing RenderStateShard.setupRenderState:37 (11%)
       26%  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 (29%), executing GL15C.nglBufferSubData (12%)
       8.9%  Gui.endBatching:15185 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]   <- Gui.renderCrosshair:392
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (52%), executing GL14C.glBlendFuncSeparate (13%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes

FRAMES
  21,244 frames   p50 6.16 ms   p95 7.47 ms   p99 9.96 ms   worst 49 ms
  per frame:  tasks 0.096 ms  client tick 0.28 ms  render 1.16 ms  present 4.41 ms  other 0.13 ms
  inside those:  swap 4.40 ms  world 0.80 ms  hud 0.23 ms  screen 0.10 ms
  client tick: 2.28 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 6.03 ms   p95 7.27 ms   p99 7.93 ms

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  25,585 samples: CPU work 26%, GPU wait 74%, limiter 0.0%, blocked on other threads <0.1%
  mods caused 84% of render-thread CPU work, vanilla/forge/driver the rest
  18% 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   18%    38%   oculus                       world
  0.18 ms   11%    91%   minecraft (vanilla)          world
  0.17 ms   10%    53%   embeddium                    world
  0.081 ms  5.0%   100%  forge (loader, events)       world
  0.063 ms  3.9%   39%   linggango_tweaks             hud
  0.061 ms  3.8%   29%   gnetum                       hud
  0.061 ms  3.8%   22%   immediatelyfast              hud
  0.057 ms  3.5%   80%   xaeroworldmap                no phase
  0.037 ms  2.3%   17%   asyncparticles               world
  0.035 ms  2.2%   90%   collections_of_optimizations hud
  0.021 ms  1.3%   57%   geckolib                     world
  0.021 ms  1.3%   5.7%  starcatcher                  hud
  0.020 ms  1.3%   55%   brute_force_culling_revived  world
  0.020 ms  1.2%   85%   xaerominimap                 client tick
  0.017 ms  1.1%   47%   entity_texture_features      world
  0.48 ms   180 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, 18%
    16%   LevelRenderer.iris$beginLevelRender:14171 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1149
          hot kroppeb.stareval.resolver.ExpressionResolver$1.evaluateTo:228 9.5%
          executing JNI.callPV 7.9%
    16%   LevelRenderer.iris$beginTranslucents:14334 [mixin handler from net.irisshaders.iris.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1370
          hot net.irisshaders.iris.pathways.HandRenderer.renderSolid:96 12%
          executing GL20C.glUniform1f 6.9%
    12%   LevelRenderer.batchedentityrendering$beginTranslucents:7155 [mixin handler from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1370
          hot net.irisshaders.iris.layer.OuterWrappedRenderType.run 14%
          executing JNI.callPV 7.5%
  minecraft (vanilla)  0.18 ms/frame, 11%, hottest vanilla methods:
    13%   ChunkAccess.getHeight:392  <- ClientLevel.asyncparticles_animateTick:21586 [mixin wrapMethod from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.animate_tick.MixinClientLevel_AnimateTick]
    10%   BlockBehaviour$BlockStateBase.getLightBlock:551  <- me.decce.ixeris.RenderThreadStarter.run:39
    6.5%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.17 ms/frame, 10%
    57%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259  <- LevelRenderer.renderChunkLayer:38202
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:137 40%
          executing GL32C.nglMultiDrawElementsBaseVertex 33%
    24%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:216  <- LevelRenderer.setupRender:38229
          hot me.jellysquid.mods.sodium.client.world.cloned.ClonedChunkSectionCache.cleanup:31 13%
          executing Collection.removeIf 16%
    4.4%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          executing GL20C.nglUniformMatrix4fv 58%
  linggango_tweaks  0.063 ms/frame, 3.9%
    25%   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 13%
          executing BufferBuilder.endVertex:263 21%
    21%   snownee.jade.util.ClientProxy.onClientTick:163  <- Minecraft.tick:1875
          hot snownee.jade.impl.config.PluginConfig.getEntry:83 11%
          executing HashMap.hash 5.4%
    17%   com.misanthropy.linggango.linggango_tweaks.shadowdrop.VertexConsumerWrapper.vertex:65  <- VertexConsumer.putBulkData:112
          executing BufferBuilder.endVertex:263 98%
  gnetum  0.061 ms/frame, 3.8%
    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] 47%
          executing ASMEventHandler.invoke:55 26%
  immediatelyfast  0.061 ms/frame, 3.8%
    38%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- GuiGraphics.flush:125
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 67%
          executing RenderStateShard.setupRenderState:37 11%
    26%   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 29%
          executing GL15C.nglBufferSubData 12%
    8.9%  Gui.endBatching:15185 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]  <- Gui.renderCrosshair:392
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 52%
          executing GL14C.glBlendFuncSeparate 13%
  xaeroworldmap  0.057 ms/frame, 3.5%
    99%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.MapWriter.loadPixel:752 11%
          executing Hashtable.get 5.0%
  asyncparticles  0.037 ms/frame, 2.3%
    36%   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 91%
    25%   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 38%
          executing JNI.callPPV 38%
    20%   forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.opengl.GlTfParticleRenderer.render:468  <- ParticleEngine.render:3222
          hot forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 23%
          executing GL32C.nglDrawRangeElementsBaseVertex 32%

STUTTERS (frames over 21 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  8       32 ms     84 ms       whole-process stall
  3       49 ms     46 ms       entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
  2       33 ms     23 ms       vanilla minecraft: ChunkAccess.getHeight
  1       41 ms     16 ms       modernfix: ModelManager.lambda$deferBlockStateLoad$3 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
  1       31 ms     12 ms       jei: mezz.jei.common.util.MathUtil.intersects
  1       29 ms     11 ms       morerelics: com.blorb.morerelics.relics.Swiftedge$ClientRender.lambda$registerGuiLayers$1
  1       25 ms     8.76 ms     ftbchunks: dev.ftb.mods.ftbchunks.client.FTBChunksClient.renderHud
  1       25 ms     8.72 ms     jei: mezz.jei.gui.ingredients.IngredientFilter.getElements
  1       25 ms     8.70 ms     unexplained (present)
  1       22 ms     7.47 ms     vanilla minecraft: BlockBehaviour$BlockStateBase.getLightBlock
  1       22 ms     7.14 ms     GPU / driver (buffer swap)

  worst frames:
  16:06:30.312  49 ms    render 46 ms          entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
                             4 of 7 samples, hottest line traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf:82
  16:08:15.838  43 ms    render 43 ms          entity_texture_features: traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf
                             5 of 9 samples, hottest line traben.entity_texture_features.features.texture_handlers.ETFDirectory.findDirectoryOf:84
  16:07:41.380  41 ms    render 1.68 ms        modernfix: ModelManager.lambda$deferBlockStateLoad$3 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
                             8 of 9 samples, hottest line ModelManager.lambda$deferBlockStateLoad$3:569 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]
  16:08:17.596  33 ms    client tick 29 ms     vanilla minecraft: ChunkAccess.getHeight
                             1 of 2 samples, hottest line ChunkAccess.getHeight:392
  16:07:53.532  32 ms    present 31 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:06:11.507  32 ms    present 30 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:07:09.737  32 ms    present 31 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:07:58.130  31 ms    tasks 24 ms           jei: mezz.jei.common.util.MathUtil.intersects
                             4 of 6 samples, hottest line mezz.jei.common.util.MathUtil.intersects:25
  16:07:41.291  31 ms    render 31 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  16:07:38.024  31 ms    present 30 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)

MEMORY AND GC
  allocated 47.6 GB (378 MB/s, exact, all threads), max heap 8.0 GB
  20 GC pauses (0 old/full), 291 ms paused (0.2%), worst 28 ms, one every 6.5 s
  live data after GC 4.2 GB (53% of max), changed by 185 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 95% of bytes covered):
    84 MB/s   22%    elysium_api               5,428 samples
        22%  Block.elysium$soundTransformer:8655 [mixin handler from net.jadenxgamer.elysium_api.impl.mixin.block.BlockMixin] -> ReferencePipeline$2
        19%  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
    52 MB/s   14%    minecraft (vanilla)       6,011 samples
        15%  BlockBehaviour$BlockStateBase.isSolidRender -> CallbackInfoReturnable
        5.5%  LevelRenderer.getLightColor:2983 -> CallbackInfoReturnable
    29 MB/s   7.6%   embeddium                 2,131 samples
        35%  me.jellysquid.mods.sodium.client.model.light.data.ArrayLightDataCache.get -> CallbackInfoReturnable
        20%  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
    26 MB/s   6.8%   fastchunkgen              563 samples
        8.1%  SurfaceRules$SequenceRule.onInit:526 [mixin handler from com.misanthropy.fastchunkgen.opts.allocs.mixin.surfacebuilder.MixinMaterialRulesSequenceBlockStateRule] -> SurfaceRules$SurfaceRule;
        7.1%  ChunkMap.lambda$redirectGetRegion$0:14933 [mixin merged from com.misanthropy.fastchunkgen.threading.worldgen.mixin.MixinThreadedAnvilChunkStorage] -> [B
    15 MB/s   4.0%   biomeswevegone            234 samples
        18%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition
        16%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$TestRule
        8.9%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> Iterators$ArrayItr
    15 MB/s   3.9%   radium                    701 samples
        48%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        9.4%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    13 MB/s   3.3%   jdk                       1,414 samples
        98%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator
    11 MB/s   2.9%   structureessentials       168 samples
        21%  PlacedFeature.onPlaceWithBiome:555 [mixin redirect from com.structureessentials.mixin.PlacedFeatureErrorMixin] -> ReferencePipeline$Head
        17%  PlacedFeature.onPlaceWithBiome:555 [mixin redirect from com.structureessentials.mixin.PlacedFeatureErrorMixin] -> CallbackInfoReturnable
        15%  PlacedFeature.onPlaceWithBiome:555 [mixin redirect from com.structureessentials.mixin.PlacedFeatureErrorMixin] -> Iterators$9
    10 MB/s   2.7%   zfastnoise                156 samples
        53%  org.codeberg.zenxarch.fastnoise.noise.FastWorldgen.populateNoise:55 -> [D
        11%  org.codeberg.zenxarch.fastnoise.noise.FastWorldgen.populateNoise:55 -> Double
        11%  org.codeberg.zenxarch.fastnoise.noise.FastWorldgen.populateNoise:82 -> DensityFunction$SinglePointContext
    10 MB/s   2.6%   cheaplighting             906 samples
        43%  me.jellysquid.mods.sodium.client.model.light.data.LightDataAccess.cheaplighting$getLightmap:530 [mixin handler from com.misanthropy.cheaplighting.mixin.sodium.LightDataAccessMixin] -> Integer
        35%  LevelRenderer.onGetLightmapCoordinates:5607 [mixin handler from com.misanthropy.cheaplighting.mixin.CommonLevelRendererMixin] -> CallbackInfoReturnable
        20%  LevelRenderer.onGetLightmapCoordinates:5608 [mixin handler from com.misanthropy.cheaplighting.mixin.CommonLevelRendererMixin] -> Integer

INTEGRATED SERVER (single player; this is world lag, not FPS)
  2,582 ticks, mspt mean 8.22 ms, p50 7.21 ms, p95 14 ms, worst 365 ms, 2 over 50 ms
    2.13 ms/tick  26%    minecraft (vanilla)       
    0.56 ms/tick  6.9%   forge (loader, events)    
    0.35 ms/tick  4.3%   radium                    EntitySectionStorage.forEachInBox:562 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.29 ms/tick  3.5%   collections_of_optimizations corgitaco.blockswap.swapper.Swapper.coo$fastRetroGenerator:547 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.blockswap.MixinSwapper]
    0.25 ms/tick  3.0%   pehkui                    Entity.pehkui$tick:33737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.19 ms/tick  2.3%   linggango_tweaks          com.misanthropy.linggango.linggango_tweaks.tweak.gate.MobStages.onPotentialSpawns:130
    0.19 ms/tick  2.3%   mob_spawn_fix             NaturalSpawner.onCheckSpawnPosition:3045 [mixin handler from com.misanthropy.linggango.mob_spawn_fix.mixin.tweaks.gameplay.mob_spawn.SpawnChangesMixin]
    0.18 ms/tick  2.2%   goety                     com.Polarice3.Goety.common.entities.neutral.AbstractWraith.tick:280

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.34 of 16 cores, whole machine 16% busy
  cores  n    allocated   group                            runs
  0.44   10   16.8 GB     Chunk Render Task Executor ##    minecraft 32%, embeddium 29%, elysium_api 21%
  0.29   12   11.7 GB     FastChunkGen worker ##           zfastnoise 39%, structureessentials 18%, fastchunkgen 10%
  0.28   1    7.1 GB      Render thread                    minecraft 17%, xaeroworldmap 8.7%, embeddium 7.3%
  0.18   1    6.0 GB      Server thread                    minecraft 25%, chunksending 6.8%
  0.02   1    4.1 GB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    2.29 ms/s  7/s      345 us   minecraft:player                            worst 3.22 ms at -571, 87, -1862
    1.70 ms/s  16/s     105 us   ars_nouveau:whirlisprig                     worst 3.02 ms at -908, 82, -2050
    1.66 ms/s  70/s     24 us    alexsmobs:raccoon                           worst 0.27 ms at -647, 86, -1802
  entity tick:
    12 ms/s    20/s     589 us   minecraft:player                            worst 4.02 ms at -623, 87, -1814
    0.78 ms/s  25/s     31 us    ars_nouveau:drygmy                          worst 0.19 ms at -908, 85, -1951
    0.55 ms/s  27/s     21 us    terramity:green_fairy                       worst 0.23 ms at -658, 88, -1915
  server entity tick:
    9.20 ms/s  196/s    47 us    minecraft:skeleton                          worst 2.12 ms at -928, 63, -1966
    9.01 ms/s  198/s    46 us    minecraft:zombie                            worst 5.65 ms at -686, -16, -1788
    8.06 ms/s  197/s    41 us    terramity:green_fairy                       worst 0.95 ms at -727, 99, -1904
    7.03 ms/s  192/s    37 us    minecraft:creeper                           worst 1.43 ms at -482, 23, -1866
    5.88 ms/s  107/s    55 us    ars_nouveau:whirlisprig                     worst 0.60 ms at -1183, 71, -1695
    3.54 ms/s  73/s     49 us    terramity:cave_gnome                        worst 2.97 ms at -816, 52, -1829
    2.06 ms/s  150/s    14 us    ars_nouveau:starbuncle                      worst 0.42 ms at -1293, 71, -1779
    2.02 ms/s  20/s     103 us   cataclysm:the_harbinger                     worst 0.35 ms at -1218, -26, -1653
  screen:
    12 ms/s    6/s      2118 us  net.minecraft.client.gui.screens.inventory.InventoryScreen worst 28 ms
    1.66 ms/s  1/s      2815 us  dev.ftb.mods.ftblibrary.ui.ScreenWrapper    worst 8.38 ms
    0.88 ms/s  0/s      1960 us  lain.mods.cos.impl.client.gui.GuiCosArmorInventory worst 3.45 ms

JVM AND I/O
  class loads over 1 ms: 18 (103 ms), on the render/server thread 5 (13 ms)
  non-GC safepoints: 219 ms total (last: RedefineClasses)
  log output: 0.1 lines/s
  exceptions thrown: 1065.7/s, top: 111.4/s  UnionFileSystem$UncheckedIOException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:569 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]

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

RECORDING
  stack sampler every 5 ms: 25,585 render-thread, 3,674 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 7,895 CPU samples, 28,036 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
