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.
214 lines
43 KiB
Markdown
214 lines
43 KiB
Markdown
# Research: Candidate client-side performance mods NOT yet in Onion MC
|
||
|
||
**Scope:** MC 1.21.1 / NeoForge 21.1.251, ~212 mods, client-side only. Existing stack assumed fixed
|
||
(Sodium 0.8.13, Iris 1.8.14-beta.1 + irisveil 0.3.0, Distant Horizons 3.3.2 mandatory, ImmediatelyFast 1.6.14,
|
||
EntityCulling 1.11.2, ModernFix 5.27.24, FerriteCore 7.0.3, Lithium 0.15.4, Dynamic FPS 3.11.4, AllTheLeaks 1.1.13,
|
||
EMF 3.3.9 + ETF 7.2.4 + Fresh Animations, Better Leaves 9.6, Create 6.0.10/Flywheel 1.0.6, Sable 2.0.5,
|
||
Xaero's Minimap/World Map, JEI 19.57, Controlify 3.0.1).
|
||
|
||
**Evidence tags used below:** `VERIFIED` = read from source code/repo/changelog/API metadata;
|
||
`DOCUMENTED` = official README/wiki/Modrinth body/changelog; `COMMUNITY` = forums/Reddit/Discord/answer sites;
|
||
`INFERENCE` = my reasoning from the above.
|
||
|
||
Primary source for availability was the **Modrinth v2 API** (`/project/<slug>/version?loaders=["neoforge"]&game_versions=["1.21.1"]`),
|
||
queried per mod. Any "version + date" below is a `VERIFIED` read of that API response unless tagged otherwise.
|
||
|
||
---
|
||
|
||
## Summary
|
||
|
||
1. **Most of the "standard" missing client perf mods simply do not exist for NeoForge 1.21.1** — Exordium (NeoForge builds only for 1.21.6+), Krypton (Fabric-only), Nvidium, VulkanMod, Enhanced Block Entities, FastChest, Memory Leak Fix (obsolete by its own README), ThreadTweak/Smooth Boot, More Culling Extra, YOSBR. This is a hard filter, not a judgement call.
|
||
2. **The real, available levers are: More Culling (or Cull Leaves), BadOptimizations, Particle Core, Gnetum, Ixeris, Flerovium, Better Block Entities, and (for the Steam Deck specifically) Super Resolution.** Of these, More Culling + Cloth Config, BadOptimizations and Particle Core are the lowest-risk/highest-confidence additions.
|
||
3. **Two landmines to avoid:** `Sodium Leaf Culling` (the mod people recommend for Better Leaves) **crashes on Sodium 0.8.11+** and is unmaintained since Apr 2025, so it is unusable on this pack's Sodium 0.8.13; and `ScalableLux` is reported to break Distant Horizons, which is mandatory here.
|
||
4. **Side finding worth escalating:** the pack's exact Iris 1.8.14-beta.1 + Sodium 0.8.13 combination on NeoForge 1.21.1 has a documented mixin incompatibility in the 1.21.1 NeoForge community, for which a third-party "Iris-Sodium Compat" patch exists on CurseForge. That is a stability question for the existing stack, not a new mod, but it should be checked before benchmarking anything else.
|
||
|
||
---
|
||
|
||
## Master candidate table
|
||
|
||
Availability column = NeoForge 1.21.1 build confirmed via Modrinth API (+ CurseForge where noted).
|
||
|
||
| Mod | NF 1.21.1? + version (date) | What it does | Expected impact | Conflicts with this pack | Risk | Recommendation |
|
||
|---|---|---|---|---|---|---|
|
||
| **More Culling** (`moreculling`) | ✅ 1.0.10 (2026‑09‑07) | Culls blockstates, leaves, item frames (3‑face/back/map), clouds, sign text, rain/snow, end gateway, beacon beam, paintings | **Med** — dense bases with signs/frames/leaves; helps all 3 machines | Needs **Cloth Config** (`cloth-config`, ✅ 1.21.1). Leaves culling overlaps a bushy-leaves pack (Better Leaves 9.6); More Culling issue #475 (unconfirmed Create/Flywheel report, maintainer says it "doesn't touch blockentity renderer") | Low‑Med | **Add** |
|
||
| **Cull Leaves** (`cull-leaves`) | ✅ 4.1.1+1.21.1-neoforge (2025‑12‑12) | Leaf-block face culling only ("Smart Leaves" replica) | **Low‑Med** — leaves only | Needs **MidnightLib** (`midnightlib`, ✅ 1.21.1). Designed to be used *with* Motschen's Better Leaves (same author) | Low | **Add** (or use More Culling's leaves option instead — pick one, not both) |
|
||
| **BadOptimizations** (`badoptimizations`) | ✅ 2.4.1 (2025‑12‑15) | Lightmap caching, sky-colour caching, skips idle debug renderers, entity/block-entity renderer caching, redundant FOV calcs | **Low‑Med** — author measured ~1926→2008 FPS (~+4%) in Fabulously Optimized; more relevant on tick-bound P2 | None known. Has a self-disabling incompatibility mechanism (`ignore_mod_incompatibilities`, `enable_entity_renderer_caching` etc.) | Low | **Add** |
|
||
| **Particle Core** (`particle-core`) | ✅ 0.3.3+1.21+neoforge (2026‑02‑05) | Particle frustum culling, custom vertex path, per-tick lightmap cache, async particle ticking, per-type spawn reduction/disable | **Med‑High** — author's spark profile: particle rendering went from ~25% of CPU time to "basically a non-item"; +50% relative over Sodium alone | Needs 2 libs (Modrinth deps). Do **not** pair with Async Particles (per community); pack has neither | Med (async ticking — can be disabled via `disableOptimizations`; auto-disables on instability) | **Add** |
|
||
| **Gnetum** (`gnetum`) | ✅ 3.3.6 (2026‑06‑24) | Distributes HUD rendering over N frames + HUD framebuffer caching; Sodium 0.8+ config integration | **Med** in HUD-heavy scenes (Xaero's, JEI, titles, tooltips) | Author states **ImmediatelyFast is "fully compatible and recommended"**; Xaero's flicker fixed 3.2.0; IF HUD-batching flicker fixed 3.3.4 | Low‑Med | **Add** (Trial if HUD flicker appears) |
|
||
| **Ixeris** (`ixeris`) | ✅ 4.6.8+1.21.1-neoforge (2026‑09‑21) | Threaded event polling off the render thread; buffered raw input (**Windows only**); GLFW state caching; FPS limiter rewrite | **High on P1** only if high-polling mouse (author: 8000 Hz 12→121 FPS; 500 Hz 134→151 FPS). **Low on Linux/P0/P2** (1.03–1.11×) | Open Iris conflict issue #151 (on MC 26.3 NeoForge, not 1.21.1); open crash reports on **older NVIDIA cards** (#134) and Intel iGPU alt-tab (#144); Exordium incompat (not in pack) | Med | **Trial, P1/P2 first** (P1 has a GTX 1060 = "old card" in issue #134) |
|
||
| **Super Resolution** (`superresolution`) | ✅ 0.9.2-alpha.2+opengl (2026‑10‑03) — **alpha only on 1.21.1** | FSR1/FSR2/FSR3, SGSR1/2, DLSS, XeSS upscaling (+ frame-gen frameworks); README lists Sodium/Iris/DH as supported | **High on P0** (RDNA2 8CU @1280×800); **Med on P1** (VRAM-bound); **Low on P2** (main-thread bound) | README: incompatible with OptiFine/Canvas/VulkanMod; marks Resolution Control/RenderScale/GPU Booster/GPU Tape incompatible. Needs OpenGL 4.3+. **Complementary Reimagined has no SR shader interface** (issue #317 is "On Hold") → only FSR1 compatibility mode; FSR3 has "severe entity ghosting" (author's own words) | Med‑High | **Trial, P0 first** |
|
||
| **Flerovium** (`flerovium`) | ✅ 1.1.3 (2026‑09‑12, beta) / 1.2.0 (2026‑09‑26, **alpha**) | Backface culling + fast-math + LOD for item, particle and entity rendering; author claims item 50%+, particles 50%, entities 30% faster | **Med** across all 3 | Needs **Sodium**. Author added "better compat with aeronautics mod" (pack has Create Aeronautics) and Accelerated Rendering. Backface culling on items/entities is a known source of visual glitches with layered/animated models | Med‑High | **Trial** (verify vs Better Combat, Emotecraft, 3D Skin Layers, EMF+Fresh Animations) |
|
||
| **Better Block Entities** (`better-block-entities`) | ✅ 1.3.4+mc1.21.1 (2026‑09‑15), explicitly built for "Sodium 0.8.12‑0.8.13" | Hybrid block-entity renderer: chests/shulkers/signs/pots/beds/bells/banners meshed into terrain when static, dynamic when animating | **High** in storage/BE-heavy bases | Needs **Sodium**. **EMF compat "only available for 1.21.11 versions and above"** (its own README) → **unverified with EMF 3.3.9 + Fresh Animations** which this pack uses. Touted as compatible with ImmediatelyFast, EntityCulling, Lithium, C2ME | Med | **Trial** |
|
||
| **Sodium Extra** (`sodium-extra`) | ✅ 0.9.4 (2026‑09‑16) | Animation/particle/detail/render toggles (OptiFine-style eye candy), fog controls, cloud height, static-entity rendering, FPS display | **Low direct**, but it is the cheapest way to expose per-machine particle/animation/entity levers (author's wiki) | Needs Sodium. Optional deps on RSO + another project (present as optional) | Low | **Add** |
|
||
| **Reese's Sodium Options** (`reeses-sodium-options`) | ✅ 2.2.4 (2026‑09‑16) | Alternative Sodium options screen, search, keyboard/controller nav | ~0 direct perf; big UX for tuning + **Controlify integration** (pack has Controlify 3.0.1) | Needs Sodium only | Low | **Add** (tuning ergonomics, especially on Deck) |
|
||
| **Default Options** (`default-options`) | ✅ (1.21.1 + neoforge listed) | Ships `options.txt`/keybinds/server-list defaults without overwriting user changes | 0 runtime; ensures the tuned baseline actually reaches every client | Needs **Balm** (`balm`, ✅ 1.21.1 neoforge). Achieves what YOSBR would (YOSBR is Fabric-only) | Low | **Add** |
|
||
| **Chloride** (`chloride`) | ✅ 1.8.1-NEO-1.21.1 (2026‑07‑19) | Entity distance culling + on-screen entity cap, leaves culling, solid chest/bed models, hide JEI/REI/EMI overlay until searching, fast language reload, fog controls, FPS overlay | **Med**, but largely **overlapping** with EntityCulling (present), More Culling, and JEI | Needs Sodium; updated to Sodium 0.8.12-beta.1 (1.7.9) and **adds Sable support for entity culling** (1.7.8) — Sable IS in the pack. Declares 1 mod as incompatible (changelog names "Smooth Skies"). Config file is `chloride-client.toml` | Med | **Trial** (only if you drop/disable overlapping culling) |
|
||
| **Krypton Reno** (`krypton-fnp`, CurseForge "Krypton FNP") | ✅ NeoForge 1.21.1 (CurseForge file 0.2.28.1‑1.21.1, 2026‑07‑06; Modrinth listing updated 2026‑07‑09) | Krypton-derived Netty/connection optimisations + optional server-side chunk/block/entity culling | **Low client-side** on a normal LAN link; the juicy packet-culling keys are server-side | README: incompatible with KryptonFoxified/Ceres/Pluto/Krypton Hybird/Chionanthus/Krypton-Fabric-with-Connector. Restricted 404Setup license (packwiz OK, full-game redistribution not) | Med | **Trial** (better evaluated as a *server* change) |
|
||
| **Raise Sound Limit Simplified** (`rsls`) | ✅ (1.21.1 + neoforge listed) | Sound-engine performance + raises sound source limit | Low‑Med (pack has Sound Physics Remastered, AmbientSounds, Subtle Effects, SRS) | Not verified against Sound Physics Remastered 1.5.1 | Low‑Med | **Trial** |
|
||
| **Async Logger** (`asynclogger`) | ✅ (1.21.1 + neoforge listed) | Asynchronous logging / log filtering | Low | Not verified vs ModernFix/AllTheLeaks log mixins | Low‑Med | **Trial (optional)** |
|
||
| **Sodium Options API** (`sodium-options-api`) | ✅ 1.21.1 listed (last update 2025‑04‑10) | Sodium options-menu API for addons | 0 direct | RSO's own docs: "Sodium Options API is no longer supported on versions where Sodium already provides the relevant options API directly" → Sodium 0.8.x provides it | Low | **Skip** |
|
||
| **Sodium Extras** (`sodium-extras`) | ✅ neoforge-1.21.1-1.0.8 (2025‑04‑07) | Entity culling (duplicate of EntityCulling), fog toggle, font-shadow toggle, borderless | Low | Requires Sodium **+ Sodium Options API**, which is obsolete on Sodium 0.8.x; no 0.8-era release | Med (stale) | **Skip** |
|
||
| **Sodium Dynamic Lights** (`sodium-dynamic-lights`) | listed for 1.21.1 (+neoforge), last update 2025‑04‑10 | LambDynamicLights port with Sodium options integration | 0 (already have LambDynamicLights 4.8.11) | Duplicate dynamic-lights implementation | Med | **Skip** |
|
||
| **Sodium Leaf Culling** (`sodiumleafculling`) | ✅ neoforge 1.0.1 (1.21.1, 2025‑04‑07) — **but** | Leaf culling injected into Sodium's chunk-mesh pipeline | would be Med‑High | **Broken:** GitHub issues #18 "Crashes with Sodium 0.8.11+ on 1.21.1" (2026‑05‑07) and #20 "Compatibility with modern Sodium 0.8.12 …" (2026‑05‑14) are **open**; no release since Apr 2025 | Very High (crash) | **Skip** (use Cull Leaves / More Culling) |
|
||
| **Exordium** (`exordium`) | ❌ No NeoForge build ≤1.21.5 (NeoForge builds only 1.21.6/1.21.8/1.21.10/1.21.11, both released 2026‑03/04) | Low-FPS GUI/screen rendering | would be Med | Author: "No backports planned!"; Modrinth status = **archived**, "not actively maintained" | — | **Skip** (use **Gnetum**, the maintained HUD equivalent) |
|
||
| **ScalableLux** (`scalablelux`) | ✅ 1.21.1 listed (fabric+neoforge) | Starlight-derived light engine, optional parallel light updates | Low client-side (mostly chunk-gen/server) | **Community reports DH breakage** with Starlight-derived engines ("if you are using Distant Horizons then do NOT use this as it will break") | High (DH mandatory) | **Skip** |
|
||
| **Krypton** (`krypton`) | ❌ Fabric only | Netty/connection optimisations | — | — | — | **Skip** (see Krypton Reno) |
|
||
| **Nvidium** (`nvidium`) | ❌ Fabric/quilt only; **requires NVIDIA Turing+ mesh shaders** | Mesh-shader terrain backend | would be High on P2's 1080 Ti… except Pascal ≠ Turing | — | — | **Skip** |
|
||
| **VulkanMod** (`vulkanmod`) | ❌ Fabric/quilt only; **listed incompatible with Distant Horizons** | Vulkan renderer | — | VulkanMod's own incompatible-mods wiki lists DH, EMF 2.2, ImmediatelyFast 1.2.20, Exordium, Embeddium | — | **Skip** |
|
||
| **Enhanced Block Entities** (`ebe`) | ❌ Fabric/quilt only, ≤1.21.4 | Baked models for chests/signs/bells/beds/shulkers/pots | — | — | — | **Skip** (see Better Block Entities) |
|
||
| **FastChest** (`fastchest`) | ❌ Fabric only (1.21.1 listed but loader = fabric) | Static chest models (loses lid animation) | — | — | — | **Skip** |
|
||
| **Memory Leak Fix** (`memoryleakfix`) | ❌ max 1.20.4 | Fixes MC memory leaks | 0 | Its own README: "Minecraft 1.20.5+: all the memory leaks previously fixed … have been fixed. Making this mod obsolete" | — | **Skip** |
|
||
| **Ksyxis** (`ksyxis`) | ✅ exists for 1.21.1 but **server_only** | Removes unneeded spawn chunks | **0 on client in multiplayer** (its own FAQ: "It has no effect on the client when playing multiplayer") | — | — | **Skip** (client) |
|
||
| **FastLoad** (`fastload`) | ❌ abandoned by author, max 1.20.1, no NeoForge | World-load speedups | — | — | — | **Skip** |
|
||
| **Noisium** (`noisium`) | ⚠️ neoforge builds exist but **server_only**, project now **unlisted** | Worldgen speedup | ~0 client in multiplayer | — | — | **Skip** (client); good server candidate |
|
||
| **C2ME** (`c2me-neoforge`) | ✅ 1.21.1 neoforge exists | Parallel chunk gen/IO | ~0 client in multiplayer (server_side = required, `server_only_client_optional`) | Fundamentally incompatible with Moonrise (per Moonrise README) | — | **Skip** (client); good server candidate |
|
||
| **Moonrise** (`moonrise-opt`) | ✅ NeoForge 0.1.0-beta.15 (2025‑10‑10) | Chunk-system/entity-tracking rewrite; README: "can run on either the client or server, but primarily benefits the server … on the client … similar to Lithium" | Low client-side; **and it auto-disables conflicting parts of Lithium + FerriteCore**, both in the pack | 3 declared incompatible projects in the version metadata; README names **C2ME** as fundamentally incompatible | Med | **Skip** (client); evaluate as server mod knowing it partially supersedes Lithium/FerriteCore |
|
||
| **Fast Item Frames** (`fast-item-frames`) | ✅ 1.21.1 listed | Item frames become blocks instead of entities; dyeable/invisible/waxable | Med in frame-heavy builds | Requires **Puzzles Lib**; **requires install on client AND server**; converts existing item-frame entities on chunk load; interaction with Immersive Paintings 0.7.9 unverified | High | **Skip** for this client-only pass |
|
||
| **Fast Paintings** (`fast-paintings`) | ✅ 1.21.1 listed | Fixes painting rendering, custom models | Low | `client_and_server` (needs server install too); interaction with Immersive Paintings unverified | Med | **Skip** for this client-only pass |
|
||
| **Model Gap Fix** (`modelfix`) | ✅ 1.21-1.10 (2024‑08‑03) | Fixes MC‑73186 model seams | ~0 (its own FAQ: does not slow the game down; it's a visual fix, not perf) | — | Low | **Skip** (not a perf lever; add only if seams annoy) |
|
||
| **YOSBR** (`yosbr`) | ❌ Fabric/quilt only | Default options shipping | — | — | — | **Skip** (use Default Options) |
|
||
| **ThreadTweak** (`threadtweak`) | ❌ Fabric/quilt only; Smooth Boot itself is dead | Thread priority tuning | — | — | — | **Skip** |
|
||
| **Smooth Boot** | ❌ legacy, main defect fixed in 1.19.4 | — | — | — | — | **Skip** |
|
||
| **More Culling Extra** (`morecullingextra`) | ❌ fabric/quilt, ≤1.20.4 | Extra glass/pane/beacon culling | — | — | — | **Skip** |
|
||
| **Idle Boost** (`idle-boost`) | ✅ 1.21.1 listed | Background-window optimisation | 0 | Duplicate of Dynamic FPS 3.11.4 (already in pack) | — | **Skip** |
|
||
| **Smart Particles** (`smart-particles`) | ✅ 1.21.1 listed (2026‑09‑18) | Particle rendering + limits optimiser | Med (alternative to Particle Core) | Overlaps Particle Core — pick **one** | Med | **Skip** unless Particle Core misbehaves |
|
||
| **Cull Particles MultiLoader** | ✅ 1.21.1 listed but last update 2025‑01‑30 | Particle culling | Low‑Med | Superseded by Particle Core; unmaintained | Med | **Skip** |
|
||
| **Connectivity** | ❌ no Modrinth project (404); 1.20.1-era Forge only | Forge networking | — | — | — | **Skip** |
|
||
| **Ecstatic** (`ecstatic`) | ✅ 1.21.1 neoforge, but LOD mod | Alternative LOD | — | DH 3.3.2 is mandatory in this pack | — | **Skip** |
|
||
|
||
---
|
||
|
||
## Findings
|
||
|
||
### A. Availability verdicts (the "everyone recommends it" list)
|
||
|
||
1. **Exordium is not available for NeoForge 1.21.1 at all** — the Modrinth API returns an **empty list** for `loaders=["neoforge"]&game_versions=["1.21.1"]`, and the NeoForge builds that do exist are 1.21.6/1.21.8/1.21.10/1.21.11. The author's own project page says "(Neo)Forge support? No… no backports planned!", and the project status is **archived** with "This mod is not actively maintained!" `VERIFIED`/`DOCUMENTED` ([Modrinth](https://modrinth.com/mod/exordium), [API](https://api.modrinth.com/v2/project/exordium/version?loaders=%5B%22neoforge%22%5D)).
|
||
**→ The correct 1.21.1 NeoForge substitute is Gnetum** (see Finding B4), which does the same job with Sodium's own config API and is actively maintained.
|
||
|
||
2. **Krypton is Fabric-only**; the NeoForge route is **Krypton Reno** (`krypton-fnp`), whose README states it is "ported from Krypton Fabric, with some unique optimizations added. Supports NeoForge/Forge" and "continuously provides compatibility for stable versions (1.20.1, 1.21.1)". Client-relevant keys in its documented config: `clientEncrypt`, `connectionMicroOpt`, `bestVarLong`, `netty.allocatorMaxOrder`, `netty.happyEyeballs`. The chunk/block-entity culling keys (`culling.chunk_block`, `culling.chunk_light`, `culling.entity`, `culling.block`) are explicitly server-side. `VERIFIED`/`DOCUMENTED` ([Modrinth body](https://modrinth.com/mod/krypton-fnp)).
|
||
|
||
3. **Nvidium and VulkanMod are Fabric/quilt-only, and both are additionally unusable here**: Nvidium needs NVIDIA **Turing+ mesh shaders** (P1 = GTX 1060 Pascal, P2 = GTX 1080 Ti Pascal, P0 = AMD RDNA2 → all fail) and "disables itself when iris is actively using shaders"; VulkanMod's own wiki lists **Distant Horizons** as incompatible, and shaders would need Beryl instead of Iris. `VERIFIED` ([Nvidium](https://modrinth.com/mod/nvidium), [VulkanMod incompatible list](https://github.com/xCollateral/VulkanMod/wiki/Incompatible-mods)).
|
||
|
||
4. **Enhanced Block Entities, FastChest, Memory Leak Fix, ThreadTweak, More Culling Extra, YOSBR are all unavailable or obsolete on this stack.** EBE is `fabric/quilt` and stops at 1.21.4; FastChest is `fabric`; Memory Leak Fix stops at 1.20.4 and its README declares itself obsolete from 1.20.5 on ("All the memory leaks in minecraft previously fixed by MemoryLeakFix have been fixed"); More Culling Extra stops at 1.20.4. `VERIFIED`.
|
||
|
||
5. **Ksyxis / Noisium / C2ME / Moonrise / FastLoad give ~0 client-side benefit in multiplayer.** Ksyxis literally says "It has no effect on the client when playing multiplayer"; Noisium is `server_only` and is now **unlisted**; C2ME-NeoForge is `server_only_client_optional`; Moonrise's README says it "primarily benefits the server" and that client-side gains would "behave similar to Lithium" (already in the pack). Note Moonrise **auto-disables conflicting parts of Lithium and FerriteCore** — both in this pack — so installing it client-side would partially neutralise two existing mods for a marginal client gain. `VERIFIED`/`DOCUMENTED`.
|
||
|
||
### B. Available candidates — details worth knowing before you test
|
||
|
||
1. **More Culling (1.0.10, 2026‑09‑07) is Sodium‑0.8‑ready and mature.** Its 1.0.8 changelog is literally "fix crash with sodium 0.8" and 1.0.9 fixed "dont cull option not working with sodium". The Cloth Config dependency is required (`9s6osm5g` = `cloth-config`, 1.21.1 NeoForge ✅, huge install base). The wiki enumerates exactly what is culled: aggressive BlockState culling, Item Frame (3-face/back/map), **Leaves Culling**, Powder Snow, Cloud, Sign Text, Rain/Snow, End Gateway, Beacon Beam, Painting. There is a documented "don't cull" escape hatch (added in 1.0.2) and the leaves technique is a separate toggleable culling technique. `VERIFIED`/`DOCUMENTED` ([versions API](https://api.modrinth.com/v2/project/moreculling/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D), [wiki](https://github.com/FxMorin/MoreCulling/wiki)).
|
||
|
||
2. **More Culling + Better Leaves 9.6: use one leaves system, not two.** Motschen authors both **Better Leaves** (the rp in this pack) and **Cull Leaves**, and the CurseForge page for Better Leaves says plainly: "In version 8.1 and lower, this resourcepack adds no textures… This comes at the cost of performance, though. **I strongly recommend installing the Cull Leaves mod alongside Sodium/Embeddium to get more FPS.**" Cull Leaves 4.1.1's changelog adds "**Add support for Sodium 0.8.0**". There is also a community resourcepack "Enhanced Bushy Leaves (More Culling compat)" whose existence implies More Culling's leaves culling needs pack-side adjustment on bushy leaf models. `DOCUMENTED`/`COMMUNITY` ([Cull Leaves 4.1.1 API](https://api.modrinth.com/v2/project/cull-leaves/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D), [Better Leaves CF page](https://www.curseforge.com/minecraft/texture-packs/motschens-better-leaves)).
|
||
**→ Practical recommendation: add More Culling for everything *except* leaves, and/or add Cull Leaves for leaves. Testing both leaves implementations simultaneously is a false economy.**
|
||
|
||
3. **Sodium Leaf Culling is the trap.** It is technically available for NeoForge 1.21.1 (1.0.1) and is exactly the mod people recommend for bushy-leaf packs ("injects directly into Sodium's chunk mesh render pipeline… 'Solid Aggressive' … sizable performance boost when using shaders in a dense forest"), and a Reddit thread even claims it "may be more effective than MoreCulling … because it works directly with Sodium's renderer". **But** its two newest reports are `#18 Crashes with Sodium 0.8.11+ on 1.21.1` (opened 2026‑05‑07) and `#20 Compatibility with modern Sodium 0.8.12 alpha backports to 1.21.1` (2026‑05‑14), both **still open**, with no release since 2025‑04‑07. This pack runs Sodium **0.8.13**. `VERIFIED` ([issue list](https://github.com/txnimc/SodiumLeafCulling/issues?q=is%3Aissue), [versions](https://api.modrinth.com/v2/project/sodiumleafculling/version)).
|
||
**→ Skip. This is the single most likely way to add a startup crash to the pack.**
|
||
|
||
4. **Gnetum (3.3.6, 2026‑06‑24) is the maintained Exordium replacement and explicitly pairs with ImmediatelyFast.** Its README: "✔️ ImmediatelyFast: fully compatible and recommended." Its changelogs track the exact risks this pack would hit: 3.2.0 "Fixed Xaero's Minimap flickering" (pack has Xaero's Minimap 26.5.0 + World Map 1.46.0), 3.3.4 "Fixed GUI flickering with ImmediatelyFast HUD batching enabled", 3.3.5 "Added basic integration with Sodium 0.8+ Video Settings screen", 3.2.0 also allows caching of "all modded HUDs" (with an off switch). Author's published comparison claims ~1.9× FPS in a HUD-heavy 1.20.1 test — treat as directional, not as this pack's number. `VERIFIED`/`DOCUMENTED` ([Modrinth body](https://modrinth.com/mod/gnetum), [versions](https://api.modrinth.com/v2/project/gnetum/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D)).
|
||
|
||
5. **Ixeris is the highest-variance candidate: potentially huge on P1, risky on P1.** Its own benchmark table is unusually specific: at **8000 Hz polling, 12 FPS → 121 FPS**; at 2000 Hz, 76 → 135; at 500 Hz, 134 → 151; in menus (1000 Hz) 133 → 165 on Windows, and only **355 vs 320 FPS on Linux/X11, 298 vs 289 on Wayland**. So it is a Windows + high-polling-rate-mouse win (P1), near-noise on P0 (Steam Deck/Linux) and P2 (Linux). Its README also states "As of version 3.1.0 the requirements of thread safety in the GLFW documentation are strictly obeyed", and there's a documented config key `allowBusyWaitInFramerateLimiter` (≤1.21.11). Counter-evidence: an open Iris-conflict issue (#151, 26.3 NeoForge, Oct 2026) and open crash reports on older NVIDIA cards (#134) and Intel Gen7/8 alt-tab (#144). `VERIFIED`/`DOCUMENTED`/`COMMUNITY` ([Modrinth body](https://modrinth.com/mod/ixeris), [issues](https://github.com/decce6/Ixeris/issues?q=is%3Aissue)).
|
||
**→ Because P1 is a GTX 1060 (Pascal) on Windows, treat P1 Ixeris as the highest-risk, highest-reward single test in this report.**
|
||
|
||
6. **Chloride is a plausible "one mod, several features" option that specifically supports two things in this pack.** Its changelogs show 1.7.8 "Added **Sable support for entity culling**" (pack has Sable 2.0.5) and 1.7.9/1.8.0 "Updated to Sodium 0.8.12(-beta.1)"; 1.8.1 "Fixed chloride mixins for Leaves Block collides with sodiums mixins (only warns, but breaks our culling)". Its config moved to `chloride-client.toml` in 1.8.0. Features that overlap the pack: entity distance culling (vs EntityCulling 1.11.2), leaves culling (vs More Culling/Cull Leaves), solid chest/bed models (vs no FastChest — actually a genuine gap-filler here), "Hide JEI/REI/EMI overlay until you type anything in their search bars" (pack has JEI 19.57), fast language reload. It also declares one dependency-flagged incompatibility (its own changelog names "Smooth Skies"). `VERIFIED`/`DOCUMENTED` ([versions API](https://api.modrinth.com/v2/project/chloride/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D), [Modrinth body](https://modrinth.com/mod/chloride)).
|
||
|
||
7. **Better Block Entities 1.3.4 is explicitly built against this Sodium version** ("Minecraft 1.21.1 (Sodium 0.8.12‑0.8.13)") and requires only Sodium — but its README caps EMF compatibility: "the compatibility with EMF is still being worked on and **will only be available for 1.21.11 versions and above**", and it targets "Minecraft versions from 1.21.6 and above" going forward. Given this pack runs EMF 3.3.9 + ETF 7.2.4 + Fresh Animations + FA All Extensions, BBE on 1.21.1 is a genuine unknown for chest/sign/bed models. `VERIFIED`/`DOCUMENTED` ([versions](https://api.modrinth.com/v2/project/better-block-entities/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D), [Modrinth body](https://modrinth.com/mod/better-block-entities)).
|
||
|
||
8. **Super Resolution is the only large GPU-side lever for P0, and it is alpha-only on 1.21.1.** Its README lists "✅ Supported: Sodium, Iris, DistantHorizons, Embeddium, Voxy" and requires OpenGL 4.3+; its 1.21.1 NeoForge builds are **all** `alpha` (latest 0.9.2-alpha.2, 2026‑10‑03, a ~33 MB jar). Two relevant changelog facts: 0.8.3-alpha.5 "**Added Sodium 0.8.x compatibility for Minecraft 1.21.1**" and "**AMD FSR now supports Linux**"; and 0.9.0-alpha.1 marks Resolution Control/RenderScale/GPU Booster/GPU Tape incompatible. The critical caveat for *this* pack: the shader-interface integration is **not implemented by Complementary Reimagined** (issue #317 is labelled "On Hold"), so only the fallback FSR1 compatibility path applies; the mod author states "for FSR3, entity ghosting was severe" with depth-reprojection motion vectors. `VERIFIED`/`DOCUMENTED` ([versions](https://api.modrinth.com/v2/project/superresolution/version?loaders=%5B%22neoforge%22%5D&game_versions=%5B%221.21.1%22%5D), [CR issue #317](https://github.com/ComplementaryDevelopment/ComplementaryReimagined/issues/317)).
|
||
**→ P0 (Steam Deck, 1280×800, RDNA2) is the right first target; P1 (VRAM-bound GTX 1060) second; P2 (main-thread bound) is *not* an upscaling problem and SR should not be expected to help there.**
|
||
|
||
9. **Particle Core's evidence is author-published spark profiles, not a pack benchmark.** From its Modrinth body: without it "world rendering is at 41% of CPU time, with renderParticles the lions share of that at 25%"; with it "rendering is now at only 16% of CPU time, particle rendering basically a non-item"; and overlaid with Sodium, "About 5% CPU time improvement, or 50% relative improvement". The 0.3.x line added **async particle ticking (default on)**, with an explicit escape hatch (`disableOptimizations` in `particle_core_config_v[x].json`), plus documented per-type controls (`turnOffPotionParticles`, `disableParticles`, `reduceParticlesByType`, `reduceParticlesAllChance`, `reduceParticlesDecreasedChance`). Community guidance says **do not** run it with Async Particles (a different mod; not in the pack). `DOCUMENTED`/`COMMUNITY`.
|
||
|
||
10. **BadOptimizations' own numbers are small but honest, and it has a real incompatibility system.** Author's README: 1926–1955 → 2008–2023 FPS (no toasts) and 1351–1384 → 1414–1458 FPS (with toasts) on an i7‑12700 + RTX 3060 in Fabulously Optimized. Documented config keys include `enable_entity_renderer_caching`, `enable_block_entity_renderer_caching`, `enable_entity_flag_caching`, `enable_remove_redundant_fov_calculations`, `lightmap_time_change_needed_for_update`, `ignore_mod_incompatibilities`, `ignore_mod_cache_hooks`, `log_config`; and third-party mods can mark themselves incompatible with individual options. It also says "Dependencies? None." `DOCUMENTED`.
|
||
|
||
11. **Sodium Extra + Reese's Sodium Options are fresh for 1.21.1 and are the tuning surface, not the gain.** Sodium Extra 0.9.4 (2026‑09‑16) requires Sodium, and optionally integrates with RSO plus one other project. RSO 2.2.4 (2026‑09‑16) requires Sodium and supports **Controlify** controller navigation — which this pack already ships (Controlify 3.0.1), making it a genuinely useful Deck addition. `VERIFIED`/`DOCUMENTED`.
|
||
|
||
12. **Default Options (TwelveIterations) is the NeoForge answer to "ship tuned defaults".** It is on 1.21.1 + NeoForge and requires **Balm** (also 1.21.1 + NeoForge). Its documented workflow: build the desired state, run `/defaultoptions saveAll`, ship `config/defaultoptions/`, and **do not** ship `options.txt`/`servers.dat`; fresh installs then start with your defaults and user changes persist across updates. YOSBR does the same job but is Fabric/quilt-only ("Requires Fabric Loader"). `DOCUMENTED`.
|
||
|
||
13. **`Modelfix` (Model Gap Fix) is not a performance mod.** Its own FAQ: "Will this slow down my game? Not at all! Removing texture zooming just removes some code and has no impact… it could very slightly worse that vanilla [in one edge case]". The 1.21.1 NeoForge build is `1.21-1.10` from 2024‑08‑03. `DOCUMENTED`. → Not a lever; add only for cosmetic reasons.
|
||
|
||
### C. Cross-cutting compatibility notes for this specific pack
|
||
|
||
14. **Existing-stack risk you should check before benchmarking: Iris 1.8.x + Sodium 0.8.x on NeoForge 1.21.1 has a documented mixin incompatibility.** Sodium's own Discord/issue trail ("Sodium 0.8.12 alpha backports to 1.21.1" was announced via [sable#878](https://github.com/ryanhcode/sable/issues/878)) plus a third-party CurseForge mod "Iris-Sodium Compat" whose description reads: "The latest releases of Iris and Sodium on 1.21.1 NeoForge don't work together. This fixes the issue. A simple compatibility mod between Iris 1.8.12 and Sodium 0.8.12 for NeoForge 1.21.1, fixing a missing mixin issue that's been plaguing the 1.21.1 NeoForge community for some time." `COMMUNITY`/`DOCUMENTED` ([CurseForge](https://www.curseforge.com/minecraft/mc-mods/iris-sodium-compat)).
|
||
**→ This is about the pack's *current* stack (Iris 1.8.14-beta.1 + Sodium 0.8.13), so verify the pack boots cleanly with shaders before attributing any new frame-time delta to a new mod.**
|
||
|
||
15. **More Culling × Create/Flywheel:** the only recent report is [MoreCulling#475 "Create Fly problem"](https://github.com/FxMorin/MoreCulling/issues/475) (2026‑10‑08), where the reporter says entity blocks disappear at some angles; the maintainer replied: "are you sure its caused by moreculling? because it doesn't touch blockentity renderer, also you seems to have blockstate culling disabled so it doesn't even touch blocks". Unresolved as of writing → `COMMUNITY`, low weight, but worth a Create-specific smoke test.
|
||
|
||
16. **Distinct pack-internal redundancies to avoid stacking:** EntityCulling 1.11.2 vs Chloride entity culling; More Culling leaves vs Cull Leaves vs Chloride leaves; Particle Core vs Smart Particles vs Cull Particles; Dynamic FPS 3.11.4 vs Idle Boost; LambDynamicLights 4.8.11 vs Sodium Dynamic Lights. Community consensus in the NeoForge 1.21.1 threads is that "MoreCulling and EntityCulling should play nice together" and that stacking more culling mods is not automatically better. `COMMUNITY`.
|
||
|
||
17. **No credible 2025‑2026 "best NeoForge 1.21.1 perf mods" list surfaced a major candidate I have not already covered.** The frequently-cited lists are Reddit threads (CAPTCHA-blocked for automated reading) and SEO guides; the mods they name on the client side are Sodium/Lithium/FerriteCore/ModernFix/ImmediatelyFast/EntityCulling/BadOptimizations/Cull Leaves/More Culling/Krypton/Ixeris/Gnetum — all covered above. The only additional NeoForge-1.21.1 client-optimisation projects Modrinth surfaced that are not in the list above were: Annus (networking), ORB (recipe book), Output Booster/inputbooster (input polling, AI-content flagged), AutoTune FPS (AI-generated, 0 followers), Fandai Engine (unsubstantiated "rewrites the entire rendering pipeline", 891 downloads) — none of which I would add on evidence grounds. `COMMUNITY`/`INFERENCE`.
|
||
|
||
---
|
||
|
||
## Top levers (ranked)
|
||
|
||
Ordered by (expected gain × confidence) / risk, for *this* fleet.
|
||
|
||
| # | Lever | Expected impact | Best fleet machine | Risk | Confidence |
|
||
|---|---|---|---|---|---|
|
||
| 1 | **More Culling 1.0.10 + Cloth Config** (leaves option off) | Med | all three; most on P1/P2 in dense bases | Low‑Med | High |
|
||
| 2 | **Particle Core 0.3.3** | Med‑High in particle-heavy scenes | P0, P1 (and P2 in Create/Alex's Mobs areas) | Med (async ticking off-switch) | Med‑High |
|
||
| 3 | **BadOptimizations 2.4.1** | Low‑Med (lightmap/tick) | all, incl. tick-bound P2 | Low | Med‑High |
|
||
| 4 | **Gnetum 3.3.6** (the Exordium replacement) | Med in HUD-heavy scenes | P0 (small screen, controller), P1 | Low‑Med | Med |
|
||
| 5 | **Ixeris 4.6.8** | High on P1 only if high-polling mouse; ~0 on Linux | P1 (and P2 if Windows-style mouse) | Med‑High | Med |
|
||
| 6 | **Super Resolution** (FSR1/SGSR, shaders in compatibility mode) | High on P0; Med on P1; ~0 on P2 | P0 first | Med‑High (alpha only on 1.21.1) | Low‑Med |
|
||
| 7 | **Better Block Entities 1.3.4** | High in chest/storage-heavy builds | all (base-build dependent) | Med (EMF compat not on 1.21.1) | Med |
|
||
| 8 | **Cull Leaves 4.1.1 + MidnightLib** (instead of, not in addition to, More Culling's leaves option) | Low‑Med, leaves only | all | Low | Med‑High |
|
||
| 9 | **Sodium Extra 0.9.4** (unlocks particle/animation/entity levers) + **Reese's Sodium Options 2.2.4** (Controlify-aware tuning UI) | Low direct / high enabling | P0, P1 | Low | Med‑High |
|
||
| 10 | **Flerovium 1.1.3** | Med on items/particles/entities | all | Med‑High (glitch-prone, alpha branch) | Low‑Med |
|
||
| 11 | **Default Options + Balm** | 0 runtime; guarantees tuned baseline ships | all | Low | High |
|
||
| 12 | **Chloride 1.8.1** (only if consolidating culling/JEI/chest models) | Med but overlapping | P2 (Sable-aware culling) | Med | Low‑Med |
|
||
| 13 | **Krypton Reno** — better judged as a *server* mod | Low client / Med server | P1/P2 chunk-packet stalls | Med (license, native libs) | Low‑Med |
|
||
| — | **Skip outright:** Exordium, Sodium Leaf Culling, ScalableLux, Nvidium, VulkanMod, EBE, FastChest, Memory Leak Fix, Ksyxis (client), FastLoad, Noisium (client), C2ME (client), Moonrise (client), Sodium Extras, Sodium Options API, Sodium Dynamic Lights, ThreadTweak/Smooth Boot, More Culling Extra, YOSBR, Idle Boost, Fast Item Frames, Fast Paintings, Model Gap Fix | — | — | — | High |
|
||
|
||
---
|
||
|
||
## Open questions to verify by benchmark
|
||
|
||
1. **What is each machine's actual bottleneck?** P0 = iGPU/GPU-bound at 1280×800; P1 = 6 GB VRAM; P2 = main-thread + 8 GB RAM. This determines whether Super Resolution (GPU), Particle Core (CPU/GPU), or nothing helps P2. Resolve with frame-time breakdown (not FPS) before adding anything.
|
||
2. **Does the pack's *current* Iris 1.8.14-beta.1 + Sodium 0.8.13 NeoForge 1.21.1 stack need the third-party "Iris-Sodium Compat" patch?** Boot with and without shaders and compare log mixin warnings before attributing any delta to a new mod.
|
||
3. **Ixeris on P1 (Windows + GTX 1060):** does it trigger the older-NVIDIA-card crash class (issue #134) or any Iris/DH interaction? Measure at the mouse's real polling rate.
|
||
4. **Leaves, three-way A/B:** (a) Better Leaves 9.6 alone, (b) + More Culling leaves option, (c) + Cull Leaves. Compare FPS *and* leaf appearance with Complementary Reimagined and with shaders off, in a dense forest.
|
||
5. **Better Block Entities vs EMF 3.3.9 + ETF 7.2.4 + Fresh Animations on 1.21.1:** do chest/sign/bed/shulker models break? BBE's EMF compat is documented as 1.21.11+ only.
|
||
6. **Particle Core async ticking stability** across Create 6.0.10 contraptions, Alex's Caves 2.0.10, Alex's Mobs and Twilight Forest 4.8.3345 particles; verify `disableOptimizations` is a sufficient fallback.
|
||
7. **Gnetum HUD caching vs Xaero's Minimap 26.5.0 / World Map 1.46.0 / JEI 19.57 / Travelers Titles / Legendary Tooltips / Inventory Particles** — flicker history exists (fixed in 3.2.0/3.3.4), re-verify on this HUD set.
|
||
8. **Flerovium backface culling vs Better Combat 2.4.0, Emotecraft 2.4.12, 3D Skin Layers 1.11.3, EMF+FA, Exposure 1.9.18 viewfinder** — look for missing faces / inverted normals, not just FPS.
|
||
9. **Super Resolution on P0 only:** FSR1-but-not-FSR3 with Complementary Reimagined r5.9.3, at 1.3–1.7× SR ratio, with Distant Horizons enabled; check DH LOD seam/quality and any RADV-specific artifacts.
|
||
10. **More Culling × Create 6.0.10/Flywheel 1.0.6 + Sable 2.0.5 + Create Aeronautics 1.3.2:** smoke-test moving contraptions/aeronautics physics frames for disappearing block entities (issue #475 class).
|
||
11. **Krypton Reno client-only vs client+server:** its client-side keys are only `clientEncrypt`/`connectionMicroOpt`/`bestVarLong`/netty sizing; the chunk-packet culling needs the server. Decide whether it is worth a server deployment at all.
|
||
12. **Chloride overlap audit:** if added, confirm EntityCulling 1.11.2 and Chloride's entity culling do not double-tax or disagree (whitelist interactions), and confirm its declared incompatible mod is not something the pack uses.
|
||
|
||
---
|
||
|
||
## Sources
|
||
|
||
**Kept (authoritative / primary):**
|
||
- Modrinth v2 API `/project/...` and `/project/.../version?loaders=["neoforge"]&game_versions=["1.21.1"]` — the availability backbone for every "y/n + version" claim (Sodium Extra, RSO, Sodium Options API, BadOptimizations, Flerovium, Ixeris, Sodium Leaf Culling, Cull Leaves, More Culling, Particle Core, Better Block Entities, Chloride, Super Resolution, Gnetum, Moonrise, Chloride, Default Options, Balm, EBE, FastChest, Nvidium, VulkanMod, Krypton, Ksyxis, Noisium, C2ME, Moonrise, Fast Item Frames, More Culling Extra, Memory Leak Fix, Lithium, Modelfix, Exordium, Sodium Extras, YOSBR, ThreadTweak, FastLoad, Krypton Reno, ScalableLux).
|
||
- https://modrinth.com/mod/exordium + https://github.com/tr7zw/Exordium/releases — "no backports planned", NeoForge builds 1.21.6+.
|
||
- https://github.com/txnimc/SodiumLeafCulling/issues?q=is%3Aissue — open Sodium‑0.8.11+ crash reports (the decisive "skip").
|
||
- https://github.com/FxMorin/MoreCulling/wiki (Home) — exact list of culling techniques.
|
||
- https://www.curseforge.com/minecraft/texture-packs/motschens-better-leaves + https://modrinth.com/mod/cull-leaves — same author recommends pairing Cull Leaves with Better Leaves.
|
||
- https://modrinth.com/mod/gnetum — ImmediatelyFast compatibility, Xaero's/IF flicker fixes, Sodium 0.8 config integration.
|
||
- https://modrinth.com/mod/ixeris — author benchmark table incl. per-OS numbers.
|
||
- https://modrinth.com/mod/krypton-fnp (Krypton Reno) — documented config keys, incompatibility list, server-vs-client split.
|
||
- https://github.com/ComplementaryDevelopment/ComplementaryReimagined/issues/317 — CR has no Super Resolution shader interface; FSR3 ghosting; motion-vector caveats.
|
||
- https://modrinth.com/mod/nvidium and https://github.com/xCollateral/VulkanMod/wiki/Incompatible-mods — Turing+ requirement; DH listed incompatible.
|
||
- https://modrinth.com/mod/moonrise-opt — "primarily benefits the server"; C2ME fundamentally incompatible; auto-disables conflicting Lithium/FerriteCore parts.
|
||
- https://github.com/FxMorin/MoreCulling/issues/475 — the only recent Create/Flywheel culling report (unconfirmed).
|
||
- https://www.curseforge.com/minecraft/mc-mods/iris-sodium-compat — third-party fix for the 1.21.1 NeoForge Iris/Sodium mixin gap.
|
||
|
||
**Dropped:**
|
||
- 9minecraft / minestrator / ouiheberg / topmoddedservers "best perf mods" listicles — SEO content, no version-date traceability, no primary confirmation.
|
||
- Reddit threads (r/feedthebeast, r/DistantHorizons, r/ModdedMinecraft) — bot-blocked on read, and only used as corroboration for the two claims I tagged `COMMUNITY` (More/EntityCulling coexistence, ScalableLux/DH breakage). Answer‑overflow/quorum mirrors used only for the DH+Starlight claim.
|
||
- CurseForge mod pages other than for file-level version confirmation — Modrinth API gave the same metadata with machine-readable versions.
|
||
- "Async Particles", "Optimized Block Entities", "Vanillin", "OptiLeaves", "Valkyrien", "OptiLeaves" — mentioned in community lists but not verified for NeoForge 1.21.1; out of budget.
|
||
|
||
---
|
||
|
||
## Gaps
|
||
|
||
- **No candidate has a published benchmark on a 212-mod pack with DH + Iris shaders.** Every gain figure quoted here is either the author's own micro-benchmark or a differently-configured pack (Fabulously Optimized, superflat worlds). Treat all impact ratings as directional.
|
||
- **Could not resolve the three project IDs declared incompatible by Moonrise 1.21.1 NeoForge builds** (only their IDs were in the API response; the README names C2ME explicitly and says Lithium/FerriteCore are auto-handled). Low priority since Moonrise is a server-side recommendation.
|
||
- **Could not find an official Distant Horizons "incompatible mods" page.** The ScalableLux/DH incompatibility and "More Culling is a 'smaller' DH-safe mod" claims rest on community answers (DH Discord mirrors), not on DH docs. If DH compat for any culling mod is a deciding factor, ask in the DH Discord or test directly.
|
||
- **Exordium alternatives beyond Gnetum were not searched exhaustively** (e.g. other HUD-caching mods for 1.21.1 NeoForge). Gnetum covers the use case and is the maintained option.
|
||
- **Chloride's declared incompatible project was inferred from its own changelog ("Smooth Skies"), not from the version dependency metadata**, which exposes only the project ID. Verify before installing.
|
||
- **Verification of `Sodium Extra`'s optional dependency projects** (Modrinth IDs `YL57xq9U`, `EE4vxUHj`) was not completed; both are optional, so this only matters if you try to add Sodium Extra without RSO.
|