SciCraft/presets/README.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

70 lines
2.8 KiB
Markdown

# Performance Presets — SCICRAFT
Three drop-in tiers for client (and server) tuning. The **Medium** tier is the
pack default — it ships inside the mrpack (`overrides/config/`) and matches a
Ryzen 5 5600X / 16-32 GB RAM / RX 580 8 GB class machine.
To use a different tier, copy the files from the matching folder into the
`.minecraft/config/` directory (client) and the pack's `server/` directory
(server), then restart.
## Tier targets
| Tier | CPU | RAM | GPU | Use case |
|------|-----|-----|-----|----------|
| **Low** | 4-core / older | 8-16 GB | 4 GB VRAM or iGPU | Integrated graphics, laptops, weak desktops |
| **Medium** | 6-8 core (5600X-class) | 16-32 GB | 8 GB VRAM (RX 580-class) | **Default. Balanced 60 FPS.** |
| **High** | 8+ core | 32 GB+ | 8 GB+ VRAM (RTX 3060+) | High FPS at high render distance / shaders |
## What's included per tier
### Client (`presets/<tier>/config/` → `.minecraft/config/`)
| File | Effect |
|------|--------|
| `sodium-options.json` | Terrain renderer: chunk threads, culling, quality |
| `iris.properties` | Shader loader: on/off, max shadow render distance |
| `lambdynlights.toml` | Dynamic lighting quality / adaptive ticking |
| `entityculling.json` | Entity/block-entity culling distance |
| `cullleaves.json` | Leaf culling on/off |
| `soundphysics.properties` | Reverb/ray budget (audio CPU cost) |
| `flywheel-client.toml` | Create/Flywheel render backend (batching vs instancing) |
> Note: `sodium-mixins.properties` is left at default on all tiers. Hand-editing
> Sodium mixin flags can cause crashes, so we tune the safe, supported options
> (`sodium-options.json`) instead.
### Server (`presets/<tier>/server/`)
| File | Effect |
|------|--------|
| `server.properties` | view-distance, simulation-distance, compression |
| `jvm-flags.txt` | Recommended JVM heap + GC flags for that RAM tier |
## Applying a tier (client)
```bash
# Example: switch to LOW
cp -r presets/low/config/* ~/.local/share/PrismLauncher/instances/<instance>/minecraft/config/
```
Then restart the game. Shader-pack in-game settings (Complementary) still
override a few visual options — see `docs/performance.md`.
## Applying a tier (server)
```bash
# Example: switch to LOW
cp presets/low/server/server.properties server_pack/server.properties
# use the jvm-flags.txt line when launching
```
## Notes
- **Shaders are disabled on the Low tier** — this is the single biggest FPS win.
On Low, either play without a shaderpack or use an "Ultra/Performance"
preset of Complementary with shadows off.
- **Medium is the shipped default** — the mrpack already contains these configs,
so players who do nothing get the balanced experience.
- `enableShaderCompatibleRendering` is on for Mekanism Covers on all tiers so
covers render correctly with shaders.