SciCraft/docs/performance.md
MiTHRAL 3d76c0e059
All checks were successful
Build & Release Pack / build (push) Successful in 1m39s
feat: three-tier performance presets (Low/Medium/High) for client + server
Add drop-in performance presets tuned for three hardware tiers.

Tier targets:
- Low: 4GB VRAM/iGPU, 8-16GB RAM
- Medium: RX 580-class 8GB, 16-32GB RAM (shipped as pack default)
- High: RTX 3060+ 8GB+, 32GB+ RAM

Client configs (per tier, presets/<tier>/config/):
- sodium-options.json: chunk threads, cpu render-ahead, quality
- iris.properties: shaders on/off, max shadow render distance
- lambdynlights.toml: dynamic lighting mode + adaptive ticking
- entityculling.json: culling tracing distance
- cullleaves.json: leaf culling
- soundphysics.properties: reverb/ray budget (CPU cost)
- flywheel-client.toml: Create backend (BATCHING vs INSTANCING)

Server configs (per tier, presets/<tier>/server/):
- server.properties: view-distance, sim-distance, players, compression
- jvm-flags.txt: heap + G1 GC flags per RAM tier

Medium configs also copied to client_pack/config/ so they ship as the
mrpack defaults (bundled into overrides/config/).

Docs: docs/performance.md + docs/server.md rewritten for three tiers;
presets/README.md explains how to apply each tier.

Default (Medium) enables shaders with INSTANCING flywheel on the 8GB GPU
tier; Low disables shaders + uses BATCHING for maximum FPS on weak GPUs.
2026-08-19 23:27:45 -04:00

2.6 KiB

Performance — Client

Three drop-in tiers are provided: Low, Medium, and High. The Medium tier ships as the pack default (matches a Ryzen 5 5600X / 16-32 GB RAM / RX 580 8 GB machine). Full details and copy commands live in presets/README.md.

Tier Target Shaders Render distance Key trade-offs
Low 4 GB VRAM / iGPU Off 4-6 Minimal effects, most CPU headroom
Medium 8 GB VRAM (RX 580-class) On (Complementary, Performance) 8 Balanced 60 FPS — default
High 8 GB+ VRAM (RTX 3060+) On (Complementary, Ultra) 10-12 Max visual quality

Applying a tier

# client configs → instance config dir
cp -r presets/low/config/* ~/.local/share/PrismLauncher/instances/<instance>/minecraft/config/

Restart the game after copying. See presets/README.md for the full file map.

What each tier changes

Config Low Medium High
Sodium chunk threads 1 auto auto
Sodium cpu render-ahead 1 3 4
Sodium quality FAST DEFAULT DEFAULT
Iris shaders off on, shadow 32 on, shadow 64
Dynamic lights simple fancy fancy (max)
Entity culling distance 64 128 192
Sound reverb rays 16 24 32
Flywheel backend BATCHING INSTANCING INSTANCING

Shader tuning (Complementary Reimagined r5.4)

Shader loader is Iris (native NeoForge). Recommended shaderpack: Complementary Reimagined r5.4 (client_pack/shaderpacks/, see README).

In-game (Esc → Options → Shader Packs → Complementary → Shader Pack Settings):

Medium (8 GB VRAM)

  • Preset: Fast / Performance
  • Antialiasing: OFF, SSAO: Fast, Shadow Quality 1.0x
  • Shadow Distance: 64, Bloom: Low, Clouds: 2D Fast
  • Water Reflections: Screenspace Fast, Colored Light: OFF

High (8 GB+ VRAM)

  • Preset: High / Default
  • Antialiasing: OFF or FXAA, SSAO: High, Shadow Quality 1.5x
  • Shadow Distance: 128, Bloom: On, Clouds: 3D
  • Water Reflections: Screenspace, Colored Light: On

Low (no shaders, or "Potato")

  • Play with shaders off (Iris enableShaders=false).
  • If you want them on, use Complementary "Potato/Ultra" preset, shadows OFF.

If FPS is still low, lower Shadow Quality / disable Bloom before touching render distance.

Reload rules

  • Server scripts / recipes / advancements: /reload
  • Client tooltips / JEI / textures / lang: F3+T
  • New items/blocks (registry_blocks.js): full restart
  • Config files (Sodium, Iris, etc.): full restart