WhatsLaggin report (manual)  30.4 s recorded, ended 2026-10-23 04:12:01
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, 75 entities loaded

VERDICT
  741 fps average (1.35 ms per frame), 1% low 81 fps, 0.1% low 35 fps.
  BALANCED: 0.99 ms CPU plus 0.36 ms waiting on the GPU per frame. Cuts on either side help.
  22 stutters over 20 ms (43.4 per minute), worst 59 ms. Biggest cause: GC pause (G1 Young Generation).

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] Partly GPU-bound: 0.36 ms of each 1.35 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 0.99 ms per frame.
       Biggest GPU levers: render distance (12), resolution (3440x1440), graphics mode (fancy)
  2. [stutter] Stutter: GC pause (G1 Young Generation)
       11 frames over 20 ms, worst 31 ms, 567 ms of extra frame time per minute
       allocation 685 MB/s; 11 collections, worst 29 ms
       156 MB/s collections_of_optimizations (23%): com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
       94 MB/s fastchunkgen (14%): NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
       76 MB/s minecraft (11%): NbtIo.readUnnamedTag:149 -> String
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  3. [cpu] embeddium costs 0.075 ms per frame on the render thread
       7.9% of render-thread CPU time, mostly in world, 51% in its own code (rest is vanilla/library code it called)
       52%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 (28%), executing GL32C.nglMultiDrawElementsBaseVertex (27%)
       16%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:361 (16%), executing Reference2ObjectArrayMap.put:377 (4.0%)
       9.5%  LevelRenderer.renderCloudsFast:7112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]   <- LevelRenderer.renderClouds:1900
               hot: me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 (28%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (17%)
       removing this cost entirely: about 741 -> 785 fps
  4. [cpu] xaeroworldmap costs 0.071 ms per frame on the render thread
       7.5% of render-thread CPU time, mostly in no phase, 55% in its own code (rest is vanilla/library code it called)
       98%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.graphics.TextureUploader.uploadTextures:118 (25%), executing GL11C.glFinish (28%)
       removing this cost entirely: about 741 -> 782 fps
  5. [tick] Each client tick takes 4.51 ms
       20 ticks a second run inline on the render thread, so 20 frames a second each take 4.51 ms longer than the rest (uneven frame pacing).
       collections_of_optimizations 0.19 ms per tick
       punchy 0.18 ms per tick
       linggango_tweaks 0.20 ms per tick
       asyncparticles 0.15 ms per tick
       xaerominimap 0.12 ms per tick
  6. [cpu] immediatelyfast costs 0.049 ms per frame on the render thread
       5.2% of render-thread CPU time, mostly in world, 29% in its own code (rest is vanilla/library code it called)
       53%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (68%), executing GL15C.nglBufferSubData (13%)
       21%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (31%), executing RenderStateShard.clearRenderState:41 (12%)
       13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (77%), executing GL15C.nglBufferSubData (15%)
       removing this cost entirely: about 741 -> 770 fps
  7. [cpu] collections_of_optimizations costs 0.043 ms per frame on the render thread
       4.5% of render-thread CPU time, mostly in world, 90% in its own code (rest is vanilla/library code it called)
       41%  dev.engine_room.flywheel.impl.task.ParallelTaskExecutor.coo$unparkWorkers:517 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.flywheel.MixinParallelTaskExecutor]   <- dev.engine_room.flywheel.impl.task.ParallelTaskExecutor.execute:106
               hot: com.misanthropy.collections_of_optimizations.core.ParkingNotifier.post:28 (100%), executing Unsafe.unpark (100%)
       12%  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
               executing Arrays.fill (19%)
       4.6%  me.decce.gnetum.ASMEventHandlerHelper.coo$singleModIdLookup:532 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.gnetum.MixinASMEventHandlerHelper]   <- me.decce.gnetum.ASMEventHandlerHelper.tryGetModId
               executing Reference2ObjectOpenHashMap.get:321 (100%)
       removing this cost entirely: about 741 -> 766 fps
  8. [cpu] punchy costs 0.043 ms per frame on the render thread
       4.5% of render-thread CPU time, mostly in world, 76% in its own code (rest is vanilla/library code it called)
       87%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.state.MovementStateMachine.beginRenderSample:413 (5.9%), executing PoseStack.mulPose:50 (7.2%)
       11%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.state.WalkOnWaterStateMachine.debugWalkOnWater:1422 (10%), executing DirectMethodHandle$Holder.invokeStatic (20%)
       removing this cost entirely: about 741 -> 766 fps
  9. [cpu] gnetum costs 0.035 ms per frame on the render thread
       3.7% of render-thread CPU time, mostly in hud, 28% in its own code (rest is vanilla/library code it called)
       99%  ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]   <- GameRenderer.render:945
               hot: ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (48%), executing ASMEventHandler.invoke:55 (22%)
       removing this cost entirely: about 741 -> 761 fps
 10. [stutter] Stutter: unexplained (render)
       2 frames over 20 ms, worst 59 ms, 153 ms of extra frame time per minute

FRAMES
  22,512 frames   p50 0.95 ms   p95 3.47 ms   p99 7.93 ms   worst 59 ms
  per frame:  tasks 0.041 ms  client tick 0.12 ms  render 0.70 ms  present 0.37 ms  other 0.12 ms
  inside those:  swap 0.36 ms  world 0.54 ms  hud 0.12 ms  screen 0.007 ms
  client tick: 4.51 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 0.67 ms   p95 1.67 ms   p99 2.59 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.023 ms  2.9%  sky and frame setup   (p95 0.030 ms)
    0.14 ms  17%  solid terrain   (p95 0.29 ms)
    0.026 ms  3.3%  cutout mipped terrain   (p95 0.036 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.020 ms  2.6%  entities   (p95 0.034 ms)
    0.000 ms  <0.1%  block entities   (p95 0.002 ms)
    0.040 ms  5.1%  translucent terrain   (p95 0.29 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.000 ms  <0.1%  particles   (p95 0.006 ms)
    0.043 ms  5.5%  weather and clouds   (p95 0.092 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.002 ms)
    0.22 ms  27%  hand and post effects   (p95 0.34 ms)
    0.15 ms  19%  hud   (p95 0.22 ms)
    0.13 ms  17%  screens and rest of frame   (p95 0.39 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  5,493 samples: CPU work 70%, GPU wait 30%, limiter 0.0%, blocked on other threads <0.1%
  mods caused 78% of render-thread CPU work, vanilla/forge/driver the rest
  17% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glFinish; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.12 ms   13%    82%   minecraft (vanilla)          world
  0.087 ms  9.2%   100%  forge (loader, events)       world
  0.075 ms  7.9%   51%   embeddium                    world
  0.071 ms  7.5%   55%   xaeroworldmap                no phase
  0.049 ms  5.2%   29%   immediatelyfast              world
  0.043 ms  4.5%   90%   collections_of_optimizations world
  0.043 ms  4.5%   76%   punchy                       world
  0.035 ms  3.7%   28%   gnetum                       hud
  0.034 ms  3.6%   30%   linggango_tweaks             world
  0.025 ms  2.7%   14%   oculus                       world
  0.018 ms  1.9%   6.7%  whatslaggin                  world
  0.016 ms  1.7%   39%   asyncparticles               world
  0.016 ms  1.6%   57%   brute_force_culling_revived  world
  0.014 ms  1.5%   50%   xaerolib                     no phase
  0.014 ms  1.5%   84%   flywheel                     world
  0.29 ms   135 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.12 ms/frame, 13%, hottest vanilla methods:
    9.4%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    8.0%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    7.2%  LevelRenderer.renderLevel:1201  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 5.7%
  embeddium  0.075 ms/frame, 7.9%
    52%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 28%
          executing GL32C.nglMultiDrawElementsBaseVertex 27%
    16%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:361 16%
          executing Reference2ObjectArrayMap.put:377 4.0%
    9.5%  LevelRenderer.renderCloudsFast:7112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]  <- LevelRenderer.renderClouds:1900
          hot me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 28%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 17%
  xaeroworldmap  0.071 ms/frame, 7.5%
    98%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.graphics.TextureUploader.uploadTextures:118 25%
          executing GL11C.glFinish 28%
  immediatelyfast  0.049 ms/frame, 5.2%
    53%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 68%
          executing GL15C.nglBufferSubData 13%
    21%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 31%
          executing RenderStateShard.clearRenderState:41 12%
    13%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 77%
          executing GL15C.nglBufferSubData 15%
  collections_of_optimizations  0.043 ms/frame, 4.5%
    41%   dev.engine_room.flywheel.impl.task.ParallelTaskExecutor.coo$unparkWorkers:517 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.flywheel.MixinParallelTaskExecutor]  <- dev.engine_room.flywheel.impl.task.ParallelTaskExecutor.execute:106
          hot com.misanthropy.collections_of_optimizations.core.ParkingNotifier.post:28 100%
          executing Unsafe.unpark 100%
    12%   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
          executing Arrays.fill 19%
    4.6%  me.decce.gnetum.ASMEventHandlerHelper.coo$singleModIdLookup:532 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.gnetum.MixinASMEventHandlerHelper]  <- me.decce.gnetum.ASMEventHandlerHelper.tryGetModId
          executing Reference2ObjectOpenHashMap.get:321 100%
  punchy  0.043 ms/frame, 4.5%
    87%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.beginRenderSample:413 5.9%
          executing PoseStack.mulPose:50 7.2%
    11%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.state.WalkOnWaterStateMachine.debugWalkOnWater:1422 10%
          executing DirectMethodHandle$Holder.invokeStatic 20%
  gnetum  0.035 ms/frame, 3.7%
    99%   ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 48%
          executing ASMEventHandler.invoke:55 22%
  linggango_tweaks  0.034 ms/frame, 3.6%
    27%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 30%
          executing GL45C.glBlitNamedFramebuffer 32%
    15%   GameRenderer.linggango$lumaOutlineFirstPerson:18121 [mixin handler from com.misanthropy.linggango.linggango_tweaks.mixin.lumalight.FirstPersonRimMixin]  <- GameRenderer.renderLevel:1132
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.drawInPlace:166 38%
          executing GL30C.glBindFramebuffer 19%
    13%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing GL20C.glUseProgram 28%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  11      31 ms     567 ms      GC pause (G1 Young Generation)
  2       59 ms     153 ms      unexplained (render)
  2       38 ms     124 ms      unexplained (present)
  1       49 ms     94 ms       JVM safepoint for a stack sample (profiler overhead, not your mods)
  1       32 ms     61 ms       whole-process stall
  1       26 ms     50 ms       subtle_effects: einstein.subtle_effects.particle.SplashRippleParticle$Provider.createParticle
  1       21 ms     40 ms       embeddium: me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing
  1       21 ms     39 ms       subtle_effects: einstein.subtle_effects.init.ModEntityTickers.getSleepingTicker
  1       20 ms     38 ms       alexsmobs: com.github.alexthe666.alexsmobs.client.model.ModelLeafcutterAntQueen.renderToBuffer
  1       20 ms     38 ms       unexplained (client tick)

  worst frames:
  04:11:35.833  59 ms    render 58 ms          unexplained (render)
                             12 samples, no single owner
  04:11:49.365  49 ms    render 0.58 ms        JVM safepoint for a stack sample (profiler overhead, not your mods)
                             47 ms with every thread stopped for a stack sample (this profiler or spark); a thread was slow to reach the safepoint
  04:11:48.059  38 ms    present 37 ms         unexplained (present)
                             1 stack samples landed inside this frame, too few to name a cause
  04:11:39.209  32 ms    render 31 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  04:11:49.875  31 ms    render 31 ms          GC pause (G1 Young Generation)
                             24 ms of the frame was a stop-the-world collection
  04:11:34.801  31 ms    render 31 ms          GC pause (G1 Young Generation)
                             27 ms of the frame was a stop-the-world collection
  04:11:43.573  31 ms    render 0.70 ms        GC pause (G1 Young Generation)
                             29 ms of the frame was a stop-the-world collection
  04:11:41.429  30 ms    render 0.63 ms        GC pause (G1 Young Generation)
                             28 ms of the frame was a stop-the-world collection
  04:11:38.101  29 ms    render 29 ms          GC pause (G1 Young Generation)
                             26 ms of the frame was a stop-the-world collection
  04:11:45.624  28 ms    render 27 ms          GC pause (G1 Young Generation)
                             24 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 20.4 GB (685 MB/s, exact, all threads), max heap 10.0 GB
  11 GC pauses (0 old/full), 263 ms paused (0.9%), worst 29 ms, one every 2.8 s
  longest pauses:
    04:11:43.572  29 ms  G1 Young Generation, G1 Evacuation Pause
    04:11:34.798  28 ms  G1 Young Generation, GCLocker Initiated GC
    04:11:41.428  28 ms  G1 Young Generation, GCLocker Initiated GC
    04:11:38.099  26 ms  G1 Young Generation, G1 Evacuation Pause
    04:11:45.622  24 ms  G1 Young Generation, G1 Evacuation Pause
    04:11:47.746  24 ms  G1 Young Generation, G1 Evacuation Pause
    04:11:49.873  24 ms  G1 Young Generation, G1 Evacuation Pause
    04:11:56.451  21 ms  G1 Young Generation, G1 Evacuation Pause
  heap after GC 6.1 GB (61% of max, old garbage stays until the next marking cycle), changed by 626 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 98% of bytes covered):
    156 MB/s  23%    collections_of_optimizations 1,198 samples
        9.6%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
        8.0%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        7.3%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
    94 MB/s   14%    fastchunkgen              528 samples
        11%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        9.4%  ChunkMap.lambda$scheduleChunkLoad$3:15032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
        8.3%  com.misanthropy.fastchunkgen.base.common.util.InvokingExecutorService.execute:88 -> Double
    76 MB/s   11%    minecraft (vanilla)       1,655 samples
        7.1%  NbtIo.readUnnamedTag:149 -> String
        6.4%  RegionFile.getChunkDataInputStream:180 -> [B
        5.5%  LeveledPriorityQueue$1.rehash:19 -> [J
    59 MB/s   8.6%   lithoform                 316 samples
        15%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
        11%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> [D
        8.2%  NoiseChunk.lithoform$sharedScan:3507 [mixin handler from com.misanthropy.lithoform.mixin.PreliminarySurfaceMixin] -> DensityFunctions$Spline$Point
    32 MB/s   4.7%   linggango_tweaks          234 samples
        11%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.WaterSolver.levels:204 -> [J
    26 MB/s   3.8%   xaeroworldmap             81 samples
        34%  xaero.map.file.worldsave.WorldDataReader.lambda$buildRegion$1:150 -> DataResult
        14%  xaero.map.file.worldsave.WorldDataReader.lambda$buildRegion$1:150 -> Either$Left
        8.6%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
    21 MB/s   3.1%   biomeswevegone            97 samples
        22%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$TestRule
        18%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition
        8.0%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.BetweenRepeatingNoiseRange.apply:67 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition
    18 MB/s   2.6%   radium                    125 samples
        56%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        13%  LevelChunkSection.setBlockStateNoLocking:521 [mixin redirect from me.jellysquid.mods.lithium.mixin.chunk.no_locking.ChunkSectionMixin] -> CallbackInfoReturnable
        5.6%  me.jellysquid.mods.lithium.common.world.chunk.LithiumHashPalette.<init>:59 -> [I
    16 MB/s   2.3%   modernfix                 140 samples
        40%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
        8.3%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> Object;
        7.2%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
    15 MB/s   2.3%   embeddium                 543 samples
        17%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 1409187381
        14%  me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute:137 -> Iterators$9
        14%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 1854454399

INTEGRATED SERVER (single player; this is world lag, not FPS)
  609 ticks, mspt mean 14 ms, p50 12 ms, p95 26 ms, worst 98 ms, 4 over 50 ms
    3.21 ms/tick  23%    minecraft (vanilla)       
    0.90 ms/tick  6.4%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.82 ms/tick  5.8%   forge (loader, events)    
    0.63 ms/tick  4.5%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityLeafcutterAnt.tick:260
    0.54 ms/tick  3.9%   radium                    ServerLevel.redirectBlockStateTick:4159 [mixin redirect from me.jellysquid.mods.lithium.mixin.alloc.chunk_random.ServerWorldMixin]
    0.41 ms/tick  3.0%   goety                     com.Polarice3.Goety.common.events.ModEvents.LivingEffects:738
    0.37 ms/tick  2.7%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.33 ms/tick  2.4%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 4.80 of 16 cores, whole machine 65% busy
  cores  n    allocated   group                            runs
  2.24   12   9.4 GB      FastChunkGen worker ##           lithoform 37%, collections_of_optimizations 18%, fastchunkgen 14%
  0.67   1    2.9 GB      Render thread                    xaeroworldmap 14%, minecraft 11%, punchy 10%
  0.39   15   2.3 GB      ForkJoinPool.commonPool-worker-# lithoform 62%, mowziesmobs 11%, integrated_api 10%
  0.39   1    872 MB      Linggango Streams                lithoform 64%, linggango_tweaks 33%
  0.32   1    2.7 GB      Server thread                    minecraft 28%, collections_of_optimizations 5.7%
  0.20   10   706 MB      Chunk Render Task Executor ##    embeddium 42%, minecraft 34%, linggango_tweaks 10%
  0.16   10   31 MB       Flywheel Task Executor ##        collections_of_optimizations 72%, flywheel 28%
  0.09   6    78 MB       Lumenite light #                 lumenite 97%
  0.07   21   230 MB      Thread-#                         xaeroworldmap 55%, minecraft 32%, collections_of_optimizations 5.2%
  0.04   15   25 MB       Worker-Main-#                    jdk 70%, minecraft 30%
  0.03   1    331 MB      JFR Event Stream #               no JFR samples (idle or native)
  0.03   1    125 MB      minecraft_overworld - Light      minecraft 49%, lumenite 49%

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    8.53 ms/s  107/s    79 us    alexsmobs:leafcutter_ant                    worst 5.03 ms at 1281, 203, 809
    5.87 ms/s  445/s    13 us    minecraft:item                              worst 5.89 ms at 1474, 199, 792
    4.23 ms/s  214/s    20 us    terramity:green_fairy                       worst 0.87 ms at 1290, 207, 799
    3.18 ms/s  33/s     97 us    alexsmobs:komodo_dragon                     worst 3.82 ms at 1195, 161, 750
    2.62 ms/s  17/s     156 us   primitive_mobs:chameleon                    worst 3.25 ms at 1390, 197, 764
    2.51 ms/s  5/s      516 us   alexsmobs:emu                               worst 39 ms at 1489, 188, 785
  entity tick:
    19 ms/s    20/s     959 us   minecraft:player                            worst 6.23 ms at 1327, 200, 777
    2.80 ms/s  107/s    26 us    minecraft:item                              worst 1.49 ms at 1477, 195, 791
    2.12 ms/s  41/s     51 us    alexsmobs:leafcutter_ant                    worst 3.22 ms at 1389, 194, 750
    2.06 ms/s  46/s     45 us    terramity:green_fairy                       worst 1.21 ms at 1444, 220, 771
  server entity tick:
    17 ms/s    229/s    74 us    terramity:green_fairy                       worst 4.79 ms at 1444, 224, 771
    12 ms/s    563/s    22 us    minecraft:item                              worst 2.25 ms at 1224, 167, 778
    9.80 ms/s  86/s     114 us   alexsmobs:leafcutter_ant                    worst 2.28 ms at 1360, 214, 778
    5.20 ms/s  45/s     116 us   hexerei:crow                                worst 5.35 ms at 1302, 178, 695
    4.11 ms/s  42/s     99 us    minecraft:zombie                            worst 1.27 ms at 1307, 101, 773
    3.90 ms/s  16/s     239 us   minecraft:player                            worst 22 ms at 1149, 200, 775
    3.65 ms/s  24/s     152 us   minecraft:skeleton                          worst 22 ms at 1118, 106, 771
    2.84 ms/s  31/s     90 us    alexsmobs:toucan                            worst 2.47 ms at 1171, 152, 728
  server block entity tick:
    1.46 ms/s  3,278/s  0 us     minecraft:sculk_sensor                      worst 0.80 ms at 1347, -51, 869
  screen:
    5.35 ms/s  78/s     69 us    net.minecraft.client.gui.screens.ChatScreen worst 0.90 ms

JVM AND I/O
  class loads over 1 ms: 319 (956 ms), on the render/server thread 87 (192 ms)
    by owner: minecraft 121 classes, 505 ms; linggango_fixes 26 classes, 64 ms; saintsdragons 24 classes, 55 ms; fastchunkgen 20 classes, 48 ms; byepregen 8 classes, 45 ms
  non-GC safepoints: 63 ms total (last: ThreadDump)
  log output: 3.8 lines/s, top: 3.5/s  net.minecraft.world.level.chunk.storage.ChunkSerializer
  exceptions thrown: 79.3/s, top: 3.9/s  NoSuchFileException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:568 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]

MOD VERSIONS (mods named in the findings)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  xaeroworldmap 1.46.0;  immediatelyfast 1.5.5+1.20.4;  
  collections_of_optimizations 5.6;  punchy 2.8c;  gnetum 2.5.1+1.20.1-forge;  linggango_tweaks 7.39;  
  asyncparticles 20.1.4.4;  xaerominimap 26.5.0;  fastchunkgen 0.38;  ;  

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