# 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)](https://github.com/henkelmax/sound-physics-remastered/blob/1.21.1/common/src/main/java/com/sonicether/soundphysics/config/SoundPhysicsConfig.java) | 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](https://github.com/henkelmax/sound-physics-remastered/blob/1.21.1/common/src/main/java/com/sonicether/soundphysics/config/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](https://github.com/henkelmax/sound-physics-remastered/tree/1.21.1/common/src/main/java/com/sonicether/soundphysics) - Fork README documents a 10× sound-processing improvement over original Sound Physics (context for "it's already optimized"). [README](https://github.com/henkelmax/sound-physics-remastered#changes-to-the-original-mod) - **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](https://modrinth.com/mod/ambientsounds) - 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](https://www.curseforge.com/minecraft/mc-mods/ambientsounds/files/6400880) - 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](https://modrinth.com/mod/subtle-effects) / [Wiki Home](https://github.com/MincraftEinstein/SubtleEffects/wiki) - Built-in **particle culling and particle render distance** (Modrinth description) — the mod already culls its own particles. [Modrinth](https://modrinth.com/mod/subtle-effects) - 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](https://github.com/MincraftEinstein/SubtleEffects/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](https://modrinth.com/mod/subtle-effects) - **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](https://github.com/Octo-Studios/perception/blob/1.21.1/common/src/main/java/it/hurts/octostudios/perception/common/modules/chromatic_aberration/config/ChromaticAberrationConfig.java), [TrailConfig.java](https://github.com/Octo-Studios/perception/blob/1.21.1/common/src/main/java/it/hurts/octostudios/perception/common/modules/trail/config/TrailConfig.java), [module tree](https://github.com/Octo-Studios/perception/tree/1.21.1) - 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](https://modrinth.com/mod/perception/version/9QZB1Ivx) - 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](https://www.curseforge.com/minecraft/mc-mods/inventory-particles) / [Modrinth](https://modrinth.com/project/XYnKrsxH) - 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](https://modrinth.com/mod/sooty-chimneys) - 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](https://github.com/Corosauce/WATUT/blob/1.21.0/src/main/java/com/corosus/watut/config/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](https://github.com/Corosauce/WATUT/commit/71342deaf617baa997fbfc6803bad1df423b4836) - **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](https://github.com/Corosauce/WATUT/issues/106) - Cost: per-player NBT packets of screen state (client↔server) [network package](https://github.com/Corosauce/WATUT/tree/1.21.0/src/main/java/com/corosus/watut/network), then the client re-renders other players' GUIs via a custom particle/screen renderer ([ScreenParticleRenderer](https://github.com/Corosauce/WATUT/blob/1.21.0/src/main/java/com/corosus/watut/client/screen/ScreenParticleRenderer.java), [PlayerStatusManagerClient](https://github.com/Corosauce/WATUT/blob/1.21.0/src/main/java/com/corosus/watut/PlayerStatusManagerClient.java)). 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](https://modrinth.com/mod/travelers-titles) - 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](https://modrinth.com/mod/legendary-tooltips), [config wiki](https://github.com/AHilyard/LegendaryTooltips/wiki/Configuration-Instructions) - 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](https://modrinth.com/mod/advancement-plaques) - 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](https://modrinth.com/mod/emojiful) - Known bugs: game **freeze when an emoji renders** (Cottage Witch pack, older version) [Issue #98](https://github.com/InnovativeOnlineIndustries/Emojiful/issues/98); **breaks chat text output** (e.g., `/spark tps` garbled) [FTB #3886](https://github.com/FTBTeam/FTB-Modpack-Issues/issues/3886); unreadable Patchouli text [FTB #5495](https://github.com/FTBTeam/FTB-Modpack-Issues/issues/5495); rendering breaks with "When Was That Again" [Issue #15](https://github.com/InnovativeOnlineIndustries/Emojiful/issues/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)](https://github.com/mortuusars/Exposure/blob/1.21.1/CHANGELOG.md) - 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](https://github.com/mortuusars/Exposure/blob/1.21.1/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](https://github.com/mortuusars/Exposure/blob/1.21.1/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](https://modrinth.com/mod/immersive-paintings) - 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](https://github.com/Luke100000/ImmersivePaintings/wiki/Config) - 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](https://www.curseforge.com/minecraft/mc-mods/controlify/files/6347289) / [Modrinth](https://modrinth.com/mod/controlify/version/1HeJe83k) - Actively supported on 1.21.1 NeoForge. [CurseForge](https://www.curseforge.com/minecraft/mc-mods/controlify) - **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](https://modrinth.com/mod/ping-wheel) - 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](https://github.com/AlexModGuy/AlexsCaves/issues/760); FPS drops looking at raycats/irritated mobs [Issue #616](https://github.com/AlexModGuy/AlexsCaves/issues/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](https://www.curseforge.com/minecraft/mc-mods/iris-caves) - 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](https://www.reddit.com/r/feedthebeast/comments/1m6hxwh/alexs_caves_conflicting_with_my_shaders/), [DH problems thread](https://www.reddit.com/r/feedthebeast/comments/1kg37wm/i_have_some_problems_with_distant_horizons/) - **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](http://benimatic.com/tfwiki/index.php/Configuration) - Aurora shader history: added for Glacier with configurable biomes; a crash fix mentions "Aurora Shader ... not being registered properly" [TF changelog](http://benimatic.com/tfwiki/index.php/Change_Log) - **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](https://www.curseforge.com/minecraft/data-packs/disable-twilight-forest-skybox); same class of issue tracked as [TF issue #854](https://github.com/TeamTwilight/twilightforest/issues/854) (older, OptiFine-era). - Also relevant from §7: WATUT's dynamic GUIs break when TF is installed ([WATUT #106](https://github.com/Corosauce/WATUT/issues/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](https://www.curseforge.com/minecraft/mc-mods/athena). Chipped's connected textures require Athena (community). [Reddit r/feedthebeast](https://www.reddit.com/r/feedthebeast/comments/1fa8mr3/connected_texture_resource_pack_compatable_with/) - Fusion: resourcepack library providing connected textures + custom entity models. [Modpack Index page](https://www.modpackindex.com/mod/45224/fusion-connected-textures) - **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)](https://modrinth.com/mod/fusion-connected-textures/version/1.3.1-fabric-mc26.2) - 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](https://modrinth.com/project/TjOXlt9Y) - **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)](https://github.com/FoundryMC/Veil/blob/1.21/README.md) - Lodestone: library for Lodestar team mods — shaders, screenshake, utilities. [9Minecraft summary](https://www.9minecraft.net/lodestone-mod/) (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?