WhatsLaggin report (manual)  46.2 s recorded, ended 2026-10-23 04:46:33
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 32, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 74 entities loaded

VERDICT
  673 fps average (1.48 ms per frame), 1% low 72 fps, 0.1% low 21 fps.
  BALANCED: 1.07 ms CPU plus 0.41 ms waiting on the GPU per frame. Cuts on either side help.
  42 stutters over 20 ms (54.6 per minute), worst 155 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.41 ms of each 1.48 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 1.07 ms per frame.
       Biggest GPU levers: render distance (32), resolution (3440x1440), graphics mode (fancy)
  2. [stutter] Stutter: GC pause (G1 Young Generation)
       25 frames over 20 ms, worst 134 ms, 1.4 s of extra frame time per minute
       allocation 1.3 GB/s; 27 collections, worst 133 ms
       258 MB/s collections_of_optimizations (20%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
       239 MB/s minecraft (18%): SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
       121 MB/s fastchunkgen (9.3%): NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  3. [cpu] embeddium costs 0.16 ms per frame on the render thread
       16% of render-thread CPU time, mostly in world, 56% in its own code (rest is vanilla/library code it called)
       66%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 (42%), executing GL32C.nglMultiDrawElementsBaseVertex (26%)
       14%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:227   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.scheduleTranslucencyUpdates:181 (15%), executing Collection.removeIf (6.6%)
       4.1%  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 (21%), executing HashMap.putVal (15%)
       removing this cost entirely: about 673 -> 756 fps
  4. [cpu] xaeroworldmap costs 0.071 ms per frame on the render thread
       6.9% of render-thread CPU time, mostly in no phase, 71% in its own code (rest is vanilla/library code it called)
       99%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.MapWriter.loadPixel:752 (11%), executing BlockAndTintGetter.getBrightness:15 (9.7%)
       removing this cost entirely: about 673 -> 707 fps
  5. [stutter] Stutter: GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
       5 frames over 20 ms, worst 43 ms, 257 ms of extra frame time per minute
       allocation 1.3 GB/s; 27 collections, worst 133 ms
       258 MB/s collections_of_optimizations (20%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
       239 MB/s minecraft (18%): SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
       121 MB/s fastchunkgen (9.3%): NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  6. [cpu] immediatelyfast costs 0.051 ms per frame on the render thread
       5.0% of render-thread CPU time, mostly in world, 32% in its own code (rest is vanilla/library code it called)
       51%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (66%), executing RenderStateShard.setupRenderState:37 (12%)
       21%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (40%), executing RenderStateShard.clearRenderState:41 (20%)
       14%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (63%), executing GL15C.nglBufferSubData (22%)
       removing this cost entirely: about 673 -> 698 fps
  7. [stutter] Stutter: flywheel: dev.engine_room.flywheel.impl.task.WaitGroup.await
       1 frames over 20 ms, worst 155 ms, 200 ms of extra frame time per minute
  8. [cpu] gnetum costs 0.041 ms per frame on the render thread
       4.0% of render-thread CPU time, mostly in hud, 33% in its own code (rest is vanilla/library code it called)
       100%  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] (41%), executing ASMEventHandler.invoke:55 (19%)
       removing this cost entirely: about 673 -> 692 fps
  9. [stutter] Stutter: vanilla minecraft: BlockState.getLightBlock
       5 frames over 20 ms, worst 29 ms, 148 ms of extra frame time per minute
 10. [cpu] punchy costs 0.036 ms per frame on the render thread
       3.5% of render-thread CPU time, mostly in world, 69% in its own code (rest is vanilla/library code it called)
       85%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.state.MovementStateMachine.endRenderSample:419 (7.3%), executing PoseStack.mulPose:50 (6.2%)
       14%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.animation.ItemAnimationManager.clearPersistentType:86 (10%), executing String.replace (6.7%)
       removing this cost entirely: about 673 -> 690 fps

FRAMES
  30,993 frames   p50 1.16 ms   p95 3.11 ms   p99 6.23 ms   worst 155 ms
  per frame:  tasks 0.071 ms  client tick 0.11 ms  render 0.77 ms  present 0.42 ms  other 0.12 ms
  inside those:  swap 0.41 ms  world 0.63 ms  hud 0.10 ms  screen 0.002 ms
  client tick: 3.60 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 0.85 ms   p95 1.65 ms   p99 2.33 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.022 ms  2.2%  sky and frame setup   (p95 0.030 ms)
    0.36 ms  37%  solid terrain   (p95 0.66 ms)
    0.022 ms  2.2%  cutout mipped terrain   (p95 0.031 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.021 ms  2.1%  entities   (p95 0.050 ms)
    0.021 ms  2.2%  block entities   (p95 0.083 ms)
    0.046 ms  4.7%  translucent terrain   (p95 0.23 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.000 ms  <0.1%  particles   (p95 0.004 ms)
    0.041 ms  4.2%  weather and clouds   (p95 0.073 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.003 ms)
    0.18 ms  19%  hand and post effects   (p95 0.30 ms)
    0.13 ms  14%  hud   (p95 0.21 ms)
    0.13 ms  13%  screens and rest of frame   (p95 0.44 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  8,804 samples: CPU work 69%, GPU wait 31%, limiter 0.0%, blocked on other threads 0.1%
  mods caused 78% 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.16 ms   16%    56%   embeddium                    world
  0.14 ms   14%    90%   minecraft (vanilla)          world
  0.085 ms  8.4%   100%  forge (loader, events)       world
  0.071 ms  6.9%   71%   xaeroworldmap                no phase
  0.051 ms  5.0%   32%   immediatelyfast              world
  0.041 ms  4.0%   33%   gnetum                       hud
  0.036 ms  3.5%   69%   punchy                       world
  0.032 ms  3.2%   64%   flywheel                     world
  0.032 ms  3.1%   76%   collections_of_optimizations world
  0.031 ms  3.0%   24%   linggango_tweaks             world
  0.019 ms  1.9%   23%   oculus                       world
  0.019 ms  1.9%   12%   asyncparticles               world
  0.019 ms  1.8%   4.5%  whatslaggin                  world
  0.019 ms  1.8%   55%   brute_force_culling_revived  world
  0.012 ms  1.2%   11%   let_there_be_atmosphere      world
  0.25 ms   150 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  embeddium  0.16 ms/frame, 16%
    66%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 42%
          executing GL32C.nglMultiDrawElementsBaseVertex 26%
    14%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:227  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.scheduleTranslucencyUpdates:181 15%
          executing Collection.removeIf 6.6%
    4.1%  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 21%
          executing HashMap.putVal 15%
  minecraft (vanilla)  0.14 ms/frame, 14%, hottest vanilla methods:
    20%   BlockState.getLightBlock:617  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing ThreadLocal$ThreadLocalMap.set 59%
    8.0%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    7.4%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
  xaeroworldmap  0.071 ms/frame, 6.9%
    99%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.MapWriter.loadPixel:752 11%
          executing BlockAndTintGetter.getBrightness:15 9.7%
  immediatelyfast  0.051 ms/frame, 5.0%
    51%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 66%
          executing RenderStateShard.setupRenderState:37 12%
    21%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 40%
          executing RenderStateShard.clearRenderState:41 20%
    14%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 63%
          executing GL15C.nglBufferSubData 22%
  gnetum  0.041 ms/frame, 4.0%
    100%  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] 41%
          executing ASMEventHandler.invoke:55 19%
  punchy  0.036 ms/frame, 3.5%
    85%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.endRenderSample:419 7.3%
          executing PoseStack.mulPose:50 6.2%
    14%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.animation.ItemAnimationManager.clearPersistentType:86 10%
          executing String.replace 6.7%
  flywheel  0.032 ms/frame, 3.2%
    71%   LevelRenderer.flywheel$beforeBlockEntities:41147 [mixin handler from dev.engine_room.flywheel.impl.mixin.LevelRendererMixin]  <- LevelRenderer.renderLevel:1235
          hot dev.engine_room.flywheel.impl.task.WaitGroup.await:42 16%
          executing GL30C.glBindBufferRange 7.4%
    20%   LevelRenderer.flywheel$beginRender:41126 [mixin handler from dev.engine_room.flywheel.impl.mixin.LevelRendererMixin]  <- LevelRenderer.renderLevel:1124
          hot dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 41%
          executing Object.notifyAll 21%
    5.2%  ClientChunkCache.flywheel$onLightUpdate:1024 [mixin handler from dev.engine_room.flywheel.impl.mixin.ClientChunkCacheMixin]  <- ClientChunkCache.onLightUpdate
          hot dev.engine_room.flywheel.lib.util.LevelAttached.get:55 90%
          executing LocalCache.getOrLoad:3989 50%
  collections_of_optimizations  0.032 ms/frame, 3.1%
    21%   ClientLevel.coo$planDisplayTick:25091 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.subtleeffects.MixinClientLevelDisplayTick]  <- ClientLevel.animateTick [mixin handler from einstein.subtle_effects.mixin.client.ClientLevelMixin]
          hot com.misanthropy.collections_of_optimizations.core.SubtleEffectsDisplayTick.run:161 57%
          executing Level.getChunk:4551 13%
    8.4%  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 6.3%
    6.3%  com.github.alexthe666.citadel.client.model.AdvancedModelBox.coo$renderThroughWriter:552 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.citadel.MixinAdvancedModelBoxFastRender]  <- com.github.alexthe666.citadel.client.model.AdvancedModelBox.doRender
          hot com.misanthropy.collections_of_optimizations.core.CitadelModelVertices.emit:69 67%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  25      134 ms    1.4 s       GC pause (G1 Young Generation)
  5       43 ms     257 ms      GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
  1       155 ms    200 ms      flywheel: dev.engine_room.flywheel.impl.task.WaitGroup.await
  5       29 ms     148 ms      vanilla minecraft: BlockState.getLightBlock
  2       33 ms     80 ms       lock wait (flywheel)
  1       34 ms     43 ms       unexplained (present)
  1       25 ms     31 ms       flywheel: dev.engine_room.flywheel.backend.compile.core.Compilation.compile
  1       22 ms     27 ms       alltheleaks: dev.uncandango.alltheleaks.mixin.Trackable$2.trim
  1       20 ms     25 ms       unexplained (tasks)

  worst frames:
  04:46:19.887  155 ms   render 154 ms         flywheel: dev.engine_room.flywheel.impl.task.WaitGroup.await
                             30 of 31 samples, hottest line dev.engine_room.flywheel.impl.task.WaitGroup.await:42
  04:46:12.846  134 ms   present 133 ms        GC pause (G1 Young Generation)
                             133 ms of the frame was a stop-the-world collection
  04:46:12.963  117 ms   client tick 114 ms    GC pause (G1 Young Generation)
                             103 ms of the frame was a stop-the-world collection
  04:46:20.843  68 ms    render 68 ms          GC pause (G1 Young Generation)
                             64 ms of the frame was a stop-the-world collection
  04:46:18.598  68 ms    render 67 ms          GC pause (G1 Young Generation)
                             66 ms of the frame was a stop-the-world collection
  04:46:20.664  57 ms    present 56 ms         GC pause (G1 Young Generation)
                             55 ms of the frame was a stop-the-world collection
  04:46:02.013  51 ms    tasks 48 ms           GC pause (G1 Young Generation)
                             46 ms of the frame was a stop-the-world collection
  04:45:50.503  49 ms    render 48 ms          GC pause (G1 Young Generation)
                             46 ms of the frame was a stop-the-world collection
  04:46:28.508  43 ms    tasks 39 ms           GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
                             37 ms of the frame was a stop-the-world collection
  04:45:47.871  42 ms    render 41 ms          GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
                             39 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 59.2 GB (1.3 GB/s, exact, all threads), max heap 10.0 GB
  27 GC pauses (0 old/full), 1.1 s paused (2.3%), worst 133 ms, one every 1.7 s
  longest pauses:
    04:46:12.846  133 ms  G1 Young Generation, G1 Evacuation Pause
    04:46:12.950  103 ms  G1 Young Generation, G1 Evacuation Pause
    04:46:18.596  66 ms  G1 Young Generation, G1 Evacuation Pause
    04:46:31.322  65 ms  G1 Young Generation, GCLocker Initiated GC
    04:46:20.839  64 ms  G1 Young Generation, G1 Evacuation Pause
    04:46:20.663  55 ms  G1 Young Generation, G1 Evacuation Pause
    04:45:50.500  46 ms  G1 Young Generation, G1 Evacuation Pause
    04:46:02.009  46 ms  G1 Young Generation, G1 Evacuation Pause
  7 Remark/Cleanup pauses (concurrent mark cycles, not in the count above), 191 ms paused, worst 39 ms
  heap after GC 5.0 GB (50% of max, old garbage stays until the next marking cycle), changed by -477516064 B over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 99% of bytes covered):
    258 MB/s  20%    collections_of_optimizations 1,064 samples
        15%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        10%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
        7.0%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
    239 MB/s  18%    minecraft (vanilla)       3,219 samples
        16%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        16%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
        11%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> Object;
    121 MB/s  9.3%   fastchunkgen              608 samples
        10%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        6.3%  ChunkMap.lambda$scheduleChunkLoad$3:15032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
        6.3%  ChunkHolder.beforeTick:4520 [mixin handler from com.misanthropy.fastchunkgen.fixes.chunkio.threading_issues.mixin.MixinChunkHolder] -> [J
    119 MB/s  9.0%   xaeroworldmap             390 samples
        55%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
        9.4%  xaero.map.file.worldsave.WorldDataReader.lambda$buildRegion$1:150 -> DataResult
        5.2%  xaero.map.region.texture.RegionTexture.<init>:78 -> ConsistentBitArray
    104 MB/s  7.9%   lithoform                 412 samples
        12%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> [D
        9.6%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
        8.2%  com.misanthropy.lithoform.compat.LandProvinces.province:520 -> [J
    59 MB/s   4.5%   radium                    259 samples
        66%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        11%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
        5.8%  LevelChunkSection.setBlockStateNoLocking:521 [mixin redirect from me.jellysquid.mods.lithium.mixin.chunk.no_locking.ChunkSectionMixin] -> CallbackInfoReturnable
    50 MB/s   3.8%   modernfix                 217 samples
        27%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
        16%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        14%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
    42 MB/s   3.2%   embeddium                 858 samples
        23%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 1575375610
        17%  me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute:137 -> Iterators$9
        10.0%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 1603315304
    37 MB/s   2.8%   linggango_tweaks          239 samples
        12%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.WaterSolver.levels:204 -> [J
        8.6%  com.misanthropy.linggango.linggango_tweaks.worldgen.TemplateCache.load:98 -> [B
        5.4%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamPlanner.rasterize:1145 -> [I
    21 MB/s   1.6%   lumenite                  1,610 samples
        47%  com.misanthropy.lumenite.LevelLighting.lambda$flush$5:378 -> Long2ObjectOpenHashMap$MapEntry
        28%  com.misanthropy.lumenite.LevelLighting.lambda$flush$5:380 -> Long2ObjectOpenHashMap$MapEntry
        9.9%  com.misanthropy.lumenite.LightWindow.clearCentre:751 -> [B

INTEGRATED SERVER (single player; this is world lag, not FPS)
  917 ticks, mspt mean 12 ms, p50 10 ms, p95 20 ms, worst 253 ms, 5 over 50 ms
    2.64 ms/tick  22%    minecraft (vanilla)       
    1.07 ms/tick  9.0%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.72 ms/tick  6.1%   forge (loader, events)    
    0.61 ms/tick  5.1%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.43 ms/tick  3.6%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityLeafcutterAnt.tick:260
    0.35 ms/tick  2.9%   eeeabsmobs                com.eeeab.eeeabsmobs.sever.entity.mob.relicron.EntityRelicObserver.tick:174
    0.31 ms/tick  2.6%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213
    0.30 ms/tick  2.5%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 6.73 of 16 cores, whole machine 70% busy
  cores  n    allocated   group                            runs
  3.53   17   20.2 GB     FastChunkGen worker ##           lithoform 51%, collections_of_optimizations 13%, fastchunkgen 11%
  0.81   15   11.2 GB     ForkJoinPool.commonPool-worker-# lithoform 54%, collections_of_optimizations 10%, ae2 8.3%
  0.68   1    8.7 GB      Render thread                    minecraft 21%, xaeroworldmap 12%, embeddium 8.4%
  0.51   10   3.4 GB      Chunk Render Task Executor ##    embeddium 45%, minecraft 31%, linggango_tweaks 11%
  0.34   1    1.1 GB      Linggango Streams                lithoform 69%, linggango_tweaks 27%
  0.34   1    6.9 GB      Server thread                    minecraft 31%, collections_of_optimizations 7.7%, xaeroworldmap 6.8%
  0.11   6    178 MB      Lumenite light #                 lumenite 94%, minecraft 5.7%
  0.10   10   38 MB       Flywheel Task Executor ##        flywheel 98%
  0.04   1    5.8 GB      minecraft_overworld - Light      lumenite 51%, minecraft 48%
  0.04   21   207 MB      Thread-#                         minecraft 54%, xaeroworldmap 39%
  0.03   15   47 MB       Worker-Main-#                    jdk 62%, minecraft 38%
  0.03   1    98 MB       BFR-OcclusionCuller              brute_force_culling_revived 51%, embeddium 49%

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    6.29 ms/s  176/s    36 us    alexsmobs:kangaroo                          worst 3.24 ms at -3269, 176, 778
    3.68 ms/s  147/s    25 us    alexsmobs:emu                               worst 2.65 ms at -3331, 157, 804
    2.80 ms/s  154/s    18 us    terramity:green_fairy                       worst 0.26 ms at -3766, 184, 772
    2.31 ms/s  44/s     53 us    minecraft:fox                               worst 40 ms at -3220, 188, 771
    2.17 ms/s  64/s     34 us    hexerei:crow                                worst 10 ms at -3236, 198, 794
  block entity render:
    0.71 ms/s  5,742/s  0 us     minecraft:brushable_block                   worst 0.13 ms at -3522, 64, 889
  entity tick:
    13 ms/s    20/s     654 us   minecraft:player                            worst 1.41 ms at -4031, 200, 780
    1.25 ms/s  18/s     70 us    alexsmobs:anteater                          worst 0.72 ms at -3234, 175, 738
    1.18 ms/s  32/s     36 us    terramity:green_fairy                       worst 0.45 ms at -4146, 121, 720
  server entity tick:
    16 ms/s    245/s    66 us    terramity:green_fairy                       worst 38 ms at -3962, 95, 776
    7.71 ms/s  82/s     94 us    alexsmobs:leafcutter_ant                    worst 2.22 ms at -3223, 179, 747
    6.56 ms/s  58/s     112 us   eeeabsmobs:relic_observer                   worst 2.02 ms at -3302, 15, 686
    6.16 ms/s  338/s    18 us    minecraft:item                              worst 14 ms at -3181, 245, 845
    3.99 ms/s  33/s     121 us   eeeabsmobs:relic_ripper                     worst 5.39 ms at -3315, -16, 688
    3.46 ms/s  14/s     256 us   minecraft:player                            worst 2.94 ms at -3973, 200, 780
    2.88 ms/s  20/s     147 us   alexsmobs:kangaroo                          worst 2.85 ms at -3310, 148, 755
    2.76 ms/s  23/s     118 us   alexsmobs:rattlesnake                       worst 47 ms at -3420, 128, 724
  screen:
    1.01 ms/s  19/s     54 us    net.minecraft.client.gui.screens.ChatScreen worst 0.24 ms

JVM AND I/O
  class loads over 1 ms: 19 (73 ms), on the render/server thread 8 (28 ms)
  render thread lock: 91 ms in 15 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  non-GC safepoints: 15 ms total (last: ThreadDump)
  log output: 0.6 lines/s
  exceptions thrown: 42.8/s, top: 2.0/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;  
  gnetum 2.5.1+1.20.1-forge;  punchy 2.8c;  flywheel 1.0.5;  collections_of_optimizations 5.5;  
  fastchunkgen 0.38;  ;  vanilla minecraft;  

RECORDING
  stack sampler every 5 ms: 8,804 render-thread, 1,973 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 15,353 CPU samples, 12,752 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
