Files
logan 611a1a5952 docs: client-perf analysis, bench harness and work journal
Everything the next agent needs to run the Phase 2 optimisation loop on a
machine that can launch the client:

- analysis/client-perf/: LEVERS (ranked levers + corrections), BENCH-MATRIX
  (world, scenes, config IDs, blocks B0-B14 with decision rules),
  PLAYER-TUNING, SPAWN-TUNING, research briefs, the jar scanner and its
  output, observed default configs, and proposed-configs/ (build.py
  generates tiers and bench variants and fails on unknown keys;
  apply_variant.py applies a variant and merges options.txt).
- analysis/client-perf/bench/onion-bench/: bench-world datapack (scene
  teleports, Create grid, mob pen, sound storm, 120 s teleport tour).
- analysis/audit/: the static recipe/dependency audit, including gen_fixes.py,
  which generates the shipped Paxi datapack and was never tracked.
- phase0/: per-machine measurement harness (Steam Deck, 7700K/1060,
  6700K/1080 Ti).
- .pi/journal.md: running work log; read it first.

All of it is packwizignored, so nothing here ships to players.
2026-10-14 18:15:32 -04:00

32 KiB
Raw Permalink Blame History

Research: Effects / audio / HUD & GUI / "flavour" client mods — frame time, tick time, RAM/VRAM, startup cost (MC 1.21.1 NeoForge, Onion MC)

Summary

Most of this category is cheap at idle: the mods with real, recurring cost are Sound Physics Remastered (CPU raytracing per sound, + a cloned-chunk cache for RAM), WATUT (network + CPU rendering other players' GUIs, with a known dynamic-GUI breakage when Twilight Forest is installed), Twilight Forest's client effects (Aurora shader, cloud precipitation — both have config toggles), Alex's Caves' biome fog/lighting overrides (documented "may conflict with shaders"; community key biome_ambient_light_coloring to disable), Perception's chromatic-aberration post pass (fires on explosions/warden sounds) and Immersion Paintings/Exposure (texture/VRAM + capture-time hitches). Everything else (tooltips, plaques, titles, Ping Wheel, Sooty Chimneys, Inventory Particles, Controlify) is event-driven HUD/particle work that only costs when visible — keep, don't tune. Fusion + Athena both being loaded means two CTM/model engines initialized at startup; at least one is a candidate for removal depending on which resourcepacks the pack actually ships.

Findings

1. Sound Physics Remastered 1.5.1 — the biggest CPU lever in this category (VERIFIED, config source)

All keys below read from SoundPhysicsConfig.java on the repo's 1.21.1 branch (same file/keys as the pinned 1.5.1 line): SoundPhysicsConfig.java (branch 1.21.1)

Key (file sound-physics-remastered.toml) Default Note
environment_evaluation_ray_count 32 (range 8–64) Config comment: "Decrease this value if you experience lag spikes when sounds play"
environment_evaluation_ray_bounces 4 (range 2–64) Same comment — reverb bounces per sound
max_occlusion_rays 16 (range 1–128) occlusion ray count per sound
strict_occlusion false if true, occlusion uses 1 path instead of 9 — big CPU cut, slight accuracy loss
sound_direction_evaluation true reflection-based stereo redirection
evaluate_ambient_sounds false cave/nether/underwater ambients are NOT processed by default (good for the AmbientSounds stack)
update_moving_sounds / sound_update_interval false / 5 re-evaluation of discs/long sounds; interval comment: "Lower values ... more lag"
max_sound_processing_distance 512 sounds beyond this are not processed
unsafe_level_access false if true, disables the level clone & cache (falls back to main-thread access — slower but no clone memory)
level_clone_range / level_clone_max_retain_ticks / level_clone_max_retain_block_distance 4 / 20 / 16 size and lifetime of the cloned-chunk cache (RAM lever)
  • There is also a per-sound rate config (a generated properties file listing every registered sound event). Verified from SoundRateConfig.java: values are "Max sounds per tick. Set to '-1' for unlimited, '0' to disable sound physics for that sound, >=1 to cap" with the stated purpose "can help prevent lag when some mod or mechanism produces hundreds of sounds per tick"; rain, rain-above, thunder and goat horns are disabled (0) by default. SoundRateConfig.java — this is the right lever for noisy Create/mob-farm sounds.
  • Cost model: per-sound CPU raytracing (threaded, TaskProfiler/performance_logging exists to measure it — VERIFIED key performance_logging). Cost scales with number of simultaneous sounds, so a Create factory floor or mob farm is the worst case. SoundPhysics.java / profiling package
  • Fork README documents a 10× sound-processing improvement over original Sound Physics (context for "it's already optimized"). README
  • Recommendation: keep + tune. Lower environment_evaluation_ray_count → 16 and ray_bounces → 2–3, enable strict_occlusion, and cap the noisiest modded sounds in the sound-rates file. Helps P2 (CPU) and P0 (4C Zen2) most. Low risk, easily reversible.

2. AmbientSounds 6.3.8 (CreativeMD) — audio streaming & mixing, client-side (DOCUMENTED)

  • Client-side mod, requires CreativeCore; config via /cmdclientconfig; /ambient-debug shows which sounds are playing. Modrinth
  • Changelog shows features are per-biome/dimension "engines" with spawn conditions (e.g., "silent dimension configuration", min-count fixes for grass/ice/rock/sand features). CurseForge changelog
  • Cost: memory for its sound library/streamed buffers + audio mixing; essentially no render cost. Community reports of lag are rare/anecdotal (COMMUNITY).
  • Recommendation: keep. If RAM-tight on P2, reducing played sound density via its config is the lever (no specific key verified — do not guess; check /cmdclientconfig in-game).

3. Subtle Effects 1.14.3 — particle floods, but ships its own mitigations (DOCUMENTED)

  • "All features can be disabled in the config menu"; documented config sections: Entities/Dust Clouds (dust clouds) and Items/Item Rarity → Particle Display Type = OFF (item rarity dots). Modrinth FAQ / Wiki Home
  • Built-in particle culling and particle render distance (Modrinth description) — the mod already culls its own particles. Modrinth
  • Feature list (fireflies, pollen, sculk dust, slimes/slime trails, spark sources on torches/campfires/furnaces, replacing vanilla smoke/steam) is large but each is individually toggleable: Wiki: Particles
  • Known incompatibility to watch: fires off Particles video setting (features silently stop if particle setting = minimal). Coexists with other particle mods per FAQ. Modrinth FAQ
  • Recommendation: keep + tune on P0/P1. Dust clouds + fireflies + item rarity dots are the highest-volume effects; turn off per section if 800p Deck GPU or fill-rate-bound P1 dips. Low risk.

4. Perception 0.2.1 (+ OctoLib) — trails + screen shake + a real post-effect (VERIFIED config; issues)

  • Source (branch 1.21.1) has three modules: trail, shake, chromatic_aberration. Chromatic aberration is a fullscreen post-effect triggered by loud sounds (explosions, warden, dragon, wither...) with per-sound duration/strength; trails are a per-entity map (entityTrails, particleTrails) that includes minecraft:experience_orb, arrows, allay, vex, phantom etc. Config keys verified: ChromaticAberrationConfig.java, TrailConfig.java, module tree
  • Known bug (fixed line): 0.1.0.2 changelog — "Fixed FPS leak with arrows stuck in player model", "Fixed render conditions of particle trails". Pinned 0.2.1 postdates this. Modrinth version notes
  • Cost: trails = extra particles per moving entity (XP orbs in a Create mob/XP farm are the realistic burst case); CA = one post pass during effect duration; shake = cheap matrix offset.
  • Recommendation: keep + trim entityTrails (at minimum experience_orb) via config map if farms are common. Helps P0/P2. Low risk.

5. Inventory Particles — GUI-only particle decor (DOCUMENTED, cost INFERENCE)

  • Client-side, data-driven particles attached to items in inventory screens (physics fully configurable via datapack). CurseForge / Modrinth
  • Cost only while a container/inventory screen is open; scales with how many items have particle definitions. INFERENCE: negligible for frame time; slight VRAM for particle textures.
  • Recommendation: keep.

6. Sooty Chimneys — per-chimney smoke particles (DOCUMENTED)

  • Adds chimneys that emit smoke particles; soot accumulates over time. By mortuusars. Modrinth
  • Cost: only where players place chimneys; smoke is the heaviest vanilla-style particle family but counts here are tiny. INFERENCE: negligible.
  • Recommendation: keep.

7. WATUT 1.2.7 — real network + CPU cost; known breakage with Twilight Forest (VERIFIED config + issue tracker)

  • Config keys verified from source (ConfigClient.java, file watut-client): sendMouseInfo, sendTypingSpeed, sendActiveGui, sendIdleState, showPlayerAnimations, showPlayerAnimation_Typing/_Idle/_Gui, showPlayerActiveNonChatGui, showPlayerActiveChatGui, particleSizeScale, tickReceiveAndRenderRateOfGUIUpdates (default 10 = GUI image of other players refreshed 2×/s; you can only increase it), dontSendDetailedGUIInfo, dontSendItemInfo. ConfigClient.java
  • v1.2.7 commit: "Workaround flickering issue ... set default to not constantly update GUI" — the default GUI-refresh behavior was already identified as costly. commit 71342de
  • Known bug, directly relevant: issue #106 — WATUT dynamic GUIs fail to render in a 1.21.1 large modpack, with Twilight Forest 4.8.3281 among the triggering mods (also Cold Sweat, Dungeons Delight, Vista). Our pack has TF 4.8.3345. Issue #106
  • Cost: per-player NBT packets of screen state (client↔server) network package, then the client re-renders other players' GUIs via a custom particle/screen renderer (ScreenParticleRenderer, PlayerStatusManagerClient). With ~10 friends, several AFK-in-inventory, this is continuous but small; the arm/head animations are model-side (cheap).
  • Recommendation: keep (it's a social mod for a friends' server) + tune. If the TF GUI-rendering bug bites (visual, not perf), the fallback is dontSendDetailedGUIInfo=true. Helps P2 (CPU) and server bandwidth. Low risk.

8. Traveler's Titles — overlay text on biome/dimension entry (DOCUMENTED)

  • Fully client-side; customizable text size/color/duration; biome & dimension blacklists; optional custom sounds per biome/dimension entry. Modrinth
  • Cost: transient overlay + a sound on biome change. INFERENCE: negligible.
  • Recommendation: keep.

9. Legendary Tooltips 1.5.5 / Advancement Plaques / Held Item Tooltips / Items Displayed — tooltip & toast dressing (DOCUMENTED, cost INFERENCE)

  • Legendary Tooltips: client-side, up to 16 custom borders selected by item/mod/tag/rarity/name-color/NBT; adds shadows, centered names, 3D item previews in tooltips; requires Iceberg (+Prism). Modrinth, config wiki
  • Advancement Plaques: client-side (Forge/NeoForge variant needs server only for its custom sounds, which can be disabled in config); plaque position/type configurable. Modrinth
  • Cost: rendering cost only while a tooltip/plaque is visible; the "3D item preview" tooltip option is the only notably heavier feature (renders an item model inside the tooltip). INFERENCE: negligible in normal play.
  • Recommendation: keep. If tooltip-heavy screens (JEI!) show hitches on P2, disable 3D previews in Legendary Tooltips config first.

10. Emojiful 5.2.4 — font/atlas hooks, worst history of this group (DOCUMENTED issues)

  • Hooks font rendering to inject emoji glyphs (incl. animated); supports datapack emoji; client+server. Modrinth
  • Known bugs: game freeze when an emoji renders (Cottage Witch pack, older version) Issue #98; breaks chat text output (e.g., /spark tps garbled) FTB #3886; unreadable Patchouli text FTB #5495; rendering breaks with "When Was That Again" Issue #15.
  • Cost: animated GIF emojis add texture atlas memory/upload churn (VRAM) — INFERENCE; frame cost otherwise only when emoji render in chat/signs. INFERENCE.
  • Recommendation: candidate for removal (flavour mod with freeze/chat-corruption history, near-zero gameplay value); at minimum pin the 1.21.1 line and disable animated emoji packs. Small startup + VRAM win for P1/P2. Low risk if the group agrees.

11. Exposure 1.9.18 — camera rendering is a real, but occasional, hitch (VERIFIED changelog)

  • Pinned 1.9.18 still contains the "preload" that exists "to reduce the lag spike when camera is first used after launch"; 1.9.19 removed it. Recommend updating to ≥1.9.19 to delete that startup/first-use spike. CHANGELOG.md (1.21.1)
  • With Iris installed, photo capture uses the direct capture path ("due to technical limitation"), i.e. the world is re-rendered through the viewfinder; background capture (1.8.0+) is skipped. DH+Iris also forces direct capture (1.9.7). So taking a photo = one extra full render pass → visible hitch on P0/P1. CHANGELOG.md
  • Veil interplay: 1.9.4 removed effective from the background-capture allowlist and added veil to the mods that force direct capture because "it's the one that causes issues" — our pack runs Veil (via Lodestone/irisveil stack). CHANGELOG.md
  • Photos in frames = image textures (small, mipmaped since 1.8.0). Photograph-in-item-frame rendering is off by default.
  • Recommendation: keep, bump to 1.9.19+; cost is opt-in (only while photographing). Low risk.

12. Immersive Paintings — LoD + streaming by design; config exists (VERIFIED config wiki)

  • Officially: "Using smart level of details, caching and lazy streaming of data the performance impact is not noticeable." Modrinth
  • Config (documented): thumbnailSize=128, lodResolutionMinimum=32, LoD thresholds halfResolutionThreshold=2.0, quarterResolutionThreshold=4.0, eighthResolutionThreshold=8.0, bandwidth maxPacketsPerSecond=20/packetSize=64KB, upload caps maxUserImageWidth/Height=4096, maxUserImages=1000, testIfSpaceEmpty=false, showOtherPlayersPaintings=true. Config wiki
  • Cost: VRAM scales with number of large custom paintings actually loaded in view (LoD halves resolution progressively); disk cache for uploads. For P1 (6GB VRAM) lower maxUserImages/thumbnailSize if friends upload big art. INFERENCE on exact VRAM numbers.
  • Recommendation: keep + cap uploads. Low risk.

13. Controlify 3.0.1 — input mod; historical FPS bug fixed upstream (DOCUMENTED)

  • 2.0.3 changelog: "Drastically improved the performance of the on-screen keyboard — There is zero performance impact anymore. It used to decrease FPS by 8x (lol)"; also "Fix extreme FPS drops when using the on-screen keyboard" (2.0.0-beta.14). CurseForge 2.0.3 / Modrinth
  • Actively supported on 1.21.1 NeoForge. CurseForge
  • Recommendation: keep (Deck/controller users). No open perf issue found for 3.x (INFERENCE).

14. Ping Wheel — tiny HUD/network mod (DOCUMENTED)

  • Client+server ping markers; config via /pingwheel config; optional item icons on markers. Modrinth
  • Cost: a few billboard quads + small packets. INFERENCE: negligible.
  • Recommendation: keep.

15. Alex's Caves 2.0.10 — biome fog/lighting overrides vs shaders; known lag reports (COMMUNITY + issue tracker)

  • Known heavy cases: "immense lag when inside toxic caves" (65–80 → ~40 FPS) Issue #760; FPS drops looking at raycats/irritated mobs Issue #616.
  • The community-maintained "Iris Caves" patch mod exists specifically to fix Alex's Caves cave-fog vs shaderpack conflicts (lists Complementary-family patches; notes MakeUp Ultra Fast "isn't supported at all: it has no single cave-fog color to hook" — relevant since MUF 9.5f is in our pack; supports 1.21.1 NeoForge + Iris). Iris Caves on CurseForge
  • Community-quoted alexscaves-client.toml keys: biome_sky_overrides, biome_sky_fog_overrides (both with in-file comment "May conflict with shaders") and biome_ambient_light_coloring (recommended to disable for DH/visual issues). Keys as quoted from the shipped config file — treat exact names as COMMUNITY-verified until opened in-game. r/feedthebeast: AC conflicting with shaders, DH problems thread
  • Recommendation: keep + tune — with Complementary Reimagined, expect AC cave-biome fog/lighting glitches (documented by the existence of Iris Caves and the AC-shaders threads); consider disabling biome_ambient_light_coloring/sky overrides for shader users; investigate the toxic-caves lag with spark if players visit AC often. Helps P0/P1 (GPU/shader) most. Low risk.

16. Twilight Forest 4.8.3345 — sky/Aurora/weather effects have config toggles (VERIFIED via official wiki)

  • twilightforest-client.toml: auroraBiomes (default ["twilightforest:glacier"]; set [] to disable the Aurora shader entirely), cloudBlockPrecipitationDistance (client, default -1 = follow common; 0 disables cloud precipitation rendering), silentCicadas. Common config cloudBlockPrecipitationDistance (default 32) — "Lower if experiencing low tick rate". TF Wiki: Configuration
  • Aurora shader history: added for Glacier with configurable biomes; a crash fix mentions "Aurora Shader ... not being registered properly" TF changelog
  • Known shader conflict: TF's custom skybox conflicts with major shaderpacks (e.g. Complementary Reimagined) causing "glaring visual distortion"; the community "Disable Twilight Forest Skybox" datapack (works 1.16.5→1.21.x) removes the skybox so shaders work properly in the dimension. CurseForge datapack; same class of issue tracked as TF issue #854 (older, OptiFine-era).
  • Also relevant from §7: WATUT's dynamic GUIs break when TF is installed (WATUT #106).
  • Recommendation: keep (core content) + tune: if the group plays TF with shaders, ship the skybox-disable datapack (or accept the artifact); set cloudBlockPrecipitationDistance: 0 on weak clients; auroraBiomes=[] only if Glacier runs badly with shaders. Helps all machines in the TF dimension; P0/P1 GPU. Low risk.

17. Fusion 1.3.15b + Athena 4.0.6 — two CTM engines loaded at once (VERIFIED existence/claims; cost INFERENCE)

  • Athena (CTM 4.0.6 line): "cross-platform baked model loader that features built-in support for connected textures ... unique baked models for each type to ensure optimal performance"; its CTM is designed to "minimize unnecessary calculations". CurseForge. Chipped's connected textures require Athena (community). Reddit r/feedthebeast
  • Fusion: resourcepack library providing connected textures + custom entity models. Modpack Index page
  • Verified Fusion perf bug pattern: a 1.3.x changelog entry — "Fixed performance issues when resolving custom texture tinting with Sodium installed" — i.e., Fusion has had Sodium-interaction hot spots worth keeping current on. Fusion changelog (Modrinth)
  • Cost of running both: each engine registers its own model-baking/CTM hooks; both are exercised only by resourcepacks that target their respective formats. Startup time + heap for double registration is the certain cost; runtime chunk-meshing cost depends on which packs are actually enabled (Better Leaves & MT-CT-style packs ship Fusion and/or Athena variants). MT-CT notes "CTM and Athena Compat did exist at the start but are Deprecated" — i.e., pack-side support for a single engine is the norm. MT-CT on Modrinth
  • Recommendation: audit, then drop one if possible. Determine which shipped resourcepacks actually need Fusion vs Athena; if everything the pack ships is Fusion-format (or Athena-format), remove the other engine → startup + heap win (matters for P2's 8GB free RAM), zero visual change. Medium confidence the pack needs both today (Chipped→Athena is the usual blocker).

18. Lodestone 1.8.2 / Veil — post-processing only when triggered (DOCUMENTED)

  • Veil (FoundryMC) is the rendering library under Lodestone's 1.8.x stack: custom post-processing pipeline, shader injection, bone-animated models. Veil README (branch 1.21)
  • Lodestone: library for Lodestar team mods — shaders, screenshake, utilities. 9Minecraft summary (secondary source; treat as description)
  • Cost: post chains cost frame time only while an effect is active; presence of Veil also changes behavior of other mods (see Exposure §11: Veil forces Exposure's direct-capture path). Veil+Iris compat is what irisveil 0.3.0 provides in this pack.
  • Recommendation: keep (dependency of the Create-adjacent stack); measure once with spark whether any Veil post chain runs continuously in normal play. Open question below.

Fleet notes

Mod P0 Deck (iGPU, 800p) P1 (VRAM-bound 1060) P2 (CPU/heap-bound)
SPR raytrace Med (CPU spikes) Low High
SPR level-clone cache Low Low Med (heap)
WATUT GUI streams Low-Med Low Med (CPU+net)
Subtle Effects / Perception trails Med (fill-rate/particles) Med Low-Med
Perception chromatic aberration Med (post pass) Med Low
AC biome fog/shader overrides Med-High Med-High Low
TF Aurora + cloud precip + skybox×shaders Med Med Low
Immersive Paintings textures Low Med (VRAM) Low (heap)
Exposure capture hitch High (during use) High (during use) Low
Emojiful animated emoji Low Low-Med (VRAM) Low (startup)
Fusion+Athena double engine Startup Startup Startup/heap
Tooltips/plaques/titles/pings/chimneys/inv-particles Negligible Negligible Negligible

Sources

  • Kept (primary): henkelmax/sound-physics-remastered 1.21.1 branch — SoundPhysicsConfig.java, SoundRateConfig.java, README (config keys, defaults, per-sound rates, level-clone cache).
  • Kept (primary): Corosauce/WATUT branch 1.21.0 — ConfigClient.java, commit 71342de, issue #106 (TF conflict), client screen renderer sources.
  • Kept (primary): Octo-Studios/perception branch 1.21.1 — ChromaticAberrationConfig.java, TrailConfig.java, module tree; Modrinth 0.1.0.2 notes (FPS leak fix).
  • Kept (primary): mortuusars/Exposure branch 1.21.1 CHANGELOG.md (capture paths, Iris/DH/Veil interactions, preload removal in 1.9.19).
  • Kept (primary): Luke100000/ImmersivePaintings wiki/Config + Modrinth description (LoD/caching/streaming).
  • Kept (primary/official wiki): benimatic.com TF Wiki Configuration (auroraBiomes, cloudBlockPrecipitationDistance, client config list) + TF Change Log (Aurora shader).
  • Kept (primary): MincraftEinstein/SubtleEffects wiki + Modrinth (per-feature toggles, particle culling/render distance, config sections).
  • Kept (primary): CreativeMD/AmbientSounds repo + Modrinth (client-side, /cmdclientconfig); CreativeMD/AmbientSounds is the source repo.
  • Kept (primary): FoundryMC/Veil README (post-processing pipeline); AHilyard LegendaryTooltips & AdvancementPlaques Modrinth pages; LukenSkyne Ping Wheel Modrinth; LopyTwich Inventory Particles CurseForge; Sooty Chimneys Modrinth; YUNG Travelers Titles Modrinth; isXander/CurseForge Controlify changelogs; Athena CurseForge description; Fusion Modrinth changelog; Iris Caves CurseForge page; "Disable TF Skybox" datapack page.
  • Dropped: minecrafthub.io / feed-the-mods / 9minecraft / mcfuns / minecraftbible / tlauncher / craftymania — SEO mirrors with no unique verified facts.
  • Dropped: Reddit threads except the two quoting actual alexscaves-client.toml contents (kept as COMMUNITY evidence of key names).

Gaps

  • AmbientSounds concrete config keys (density/feature toggles) not pulled from source — repo is CreativeMD/AmbientSounds (branch 1.21), config is GUI-driven (/cmdclientconfig); verify in-game rather than trusting names from memory.
  • Subtle Effects 1.14.3 exact TOML keys: config is Fzzy-Config GUI sections (Entities/Dust Clouds, Items/Item Rarity → Particle Display Type documented), but per-effect key names in the file were not read from source for the pinned 1.21.1 build.
  • alexscaves-client.toml key names come from community quotes of the generated file, not from AC source; verify by opening the shipped config once.
  • Fusion 1.3.15b-specific changelog wasn't diffed (research surfaced the newer-line Sodium-tinting fix); check the pinned file's own changelog on CurseForge before crediting it with the fix.
  • Heap impact of SPR's level-clone cache (level_clone_range=4 → radius-4 chunk clones retained 20 ticks) is unquantified — worth one spark/heap measurement on P2.
  • Whether any Veil post chain runs continuously with this exact Lodestone/Aeronautics/SSRD stack is unmeasured.

Top levers (ranked)

# Lever Expected impact Machines helped Risk Confidence
1 SPR: environment_evaluation_ray_count 32→16, environment_evaluation_ray_bounces 4→2–3, strict_occlusion=true; cap noisy modded sounds in the per-sound rate config (0/>=1) High (CPU) on sound-dense scenes (Create) P2, P0 Low (audio quality slightly degrades) High (config verified in source)
2 Alex's Caves: disable biome_ambient_light_coloring (+ sky/fog overrides) for shader users; test Iris Caves-style patches if AC fog glitches under Complementary Reimagined Med-High (GPU + visual correctness) P0, P1 Low Medium (community-verified keys)
3 Twilight Forest: cloudBlockPrecipitationDistance client → 0; ship "Disable TF Skybox" datapack for shader play; auroraBiomes=[] only if Glacier stutters Med (in-dimension FPS/stability) P0, P1 (all in TF) Low High (official wiki keys)
4 WATUT: raise tickReceiveAndRenderRateOfGUIUpdates (e.g. 20–40) or dontSendDetailedGUIInfo=true if GUI streaming costs show; watch known TF conflict (#106) Med (CPU + network, 10 players) P2 + server Low (visual fidelity loss) High (config verified)
5 Perception: clear experience_orb (and other high-traffic) entries from entityTrails; keep CA sound list short Med (particle bursts in farms) P0, P2 Low High (config verified)
6 Immersive Paintings: lower maxUserImages, thumbnailSize for P1 Med (VRAM) P1 Low Medium (config verified, effect unmeasured)
7 Remove one CTM engine (Fusion or Athena) after auditing shipped resourcepacks (Chipped pins Athena) Low-Med (startup + heap) P2 (startup/heap) Medium (must re-verify every resourcepack) Medium
8 Update Exposure to ≥1.9.19 (removes first-camera-use preload lag spike) Low (hitch removal) All, esp. P0 Low High (changelog verified)
9 Emojiful: candidate for removal (or drop animated emoji packs) Low (startup, VRAM, avoids known freeze/chat bugs) P1, P2 Low (social acceptability) Medium
10 Subtle Effects: turn off Entities/Dust Clouds + Item Rarity dots on P0/P1 if particle-bound Low-Med (particles/fill-rate) P0, P1 Low Medium
11 Keep as-is: Legendary Tooltips (disable 3D preview if JEI tooltips hitch), Advancement Plaques, Held Item Tooltips, Items Displayed, Ping Wheel, Travelers Titles, Sooty Chimneys, Inventory Particles, Controlify, AmbientSounds, Lodestone/Veil — — — Medium-High

Open questions to verify by benchmark

  1. SPR CPU: measure frame/tick cost with a Create factory producing dozens of concurrent sounds, at default (32 rays/4 bounces) vs 16/2 vs strict occlusion; and heap delta of the level-clone cache on P2 (spark GC/alloc view).
  2. SPR per-sound rate caps: which modded sounds (Create, Alex's Mobs, Twilight Forest ambients) actually exceed the cap in a session — read performance_logging=true output first.
  3. WATUT: with 10 players and 4–5 GUIs open, cost of GUI streaming at tickReceiveAndRenderRateOfGUIUpdates=10 vs 30 (client CPU + server→client bandwidth); confirm whether TF 4.8.3345 still triggers #106 dynamic-GUI failure.
  4. Alex's Caves: FPS in Toxic Caves (issue #760 scenario) on P0/P1, with and without biome_ambient_light_coloring=false, under Complementary Reimagined r5.9.3 and MakeUp Ultra Fast 9.5f (MUF has no cave-fog hook per Iris Caves — expect visual, not perf, artifacts).
  5. Twilight Forest: FPS in Glacier with Aurora shader on vs auroraBiomes=[] under shaders; skybox artifact severity with Complementary Reimagined with/without the disable-skybox datapack.
  6. Perception: XP-orb trail particle count in a Create XP farm, entityTrails.experience_orb on vs removed (P0 800p fill-rate).
  7. Exposure: hitch duration of first camera use on 1.9.18 vs 1.9.19 on P0; and photo-capture hitch with Iris (direct capture) at 1280×800.
  8. Fusion vs Athena: startup time and heap with both loaded vs each removed alone (after confirming which resourcepacks need which engine).
  9. AmbientSounds: resident RAM of its sound buffers on P2 (heap dump / AllTheLeaks) and whether /ambient-debug shows dense overlapping ambients in forest/swamp at night.
  10. Veil/Lodestone: spark profile — does any Veil post chain run continuously in normal overworld play, or only during modded events?