-
-
Notifications
You must be signed in to change notification settings - Fork 2
Settings
Optimum adds an Extra tab to the client settings dialog. All toggles default to ON.
| Setting | What it controls | Default |
|---|---|---|
| Limit Background FPS | Cap to 30 FPS when the window loses focus | ON |
| Smooth Frame Pacing | Hybrid sleep/yield/spin frame limiter | ON |
| Skip Distant Shadows | Skip shadow draws beyond the distance threshold | ON |
| Skip Distant Collisions | Skip repulsion physics beyond the distance threshold | ON |
| Scale Light Range | Scale held-item light radius by view distance | ON |
| Reduce Distant Animations | Reduce tick rate for distant animated block entities | ON |
| Skip Foliage Far Shadows | Skip vegetation in the far shadow cascade | ON |
| Throttle Wind Updates | Cache wind speed for 4 frames instead of every frame | ON |
| Reduce Distant Particles | Skip particle emitters beyond 48 blocks | ON |
| Simplify Distant Chiseled Blocks | Render far chiseled blocks as solid cubes | ON |
| Smart Chunk Culling | Scale the occlusion-culling chunk threshold with view distance | ON |
| Reuse Light Scans | Reuse the previous frame's dynamic-light scan while standing still | ON |
| Batch Entity Light Reads | Group visible entity light samples by chunk | ON |
| Cache Entity Shader State | Share view/water uniforms and the animation buffer lookup per pass | ON |
| Setting | Range | Default | Unit |
|---|---|---|---|
| Shadow Distance | 20-200 | 80 | blocks |
| Collision Distance | 16-128 | 64 | blocks |
| Chisel LOD Distance | 32-256 | 48 | blocks |
| Setting | Options | Default |
|---|---|---|
| Render Scale (FSR) | Native (1.0x), Quality (0.85x), Balanced (0.77x), Performance (0.67x) | Native |
Below Native, Optimum renders the world at the selected scale and runs the AMD FidelityFX Super Resolution 1.0 pipeline:
- EASU (Edge-Adaptive Spatial Upsampling): upscales the lower-resolution framebuffer to native resolution
- RCAS (Robust Contrast-Adaptive Sharpening): applies contrast-adaptive sharpening
Lower scales give more FPS at the cost of some softness. Changing the setting rebuilds the framebuffers and reloads shaders immediately — no restart. Native bypasses FSR entirely with no overhead, and produces output identical to vanilla.
These run unconditionally because they produce identical output with zero tradeoff:
- Ambient sound position gate (skip when stationary)
- Fly sound volume deduplication (skip below 1% delta)
- BlockPos reuse in particle ticks
- Animation check reorder (distance before frustum)
- Name-tag frustum reuse (IsRendered flag)
- Entity render distance pre-cull
- Lock contention reduction (System.Threading.Lock)
- Chunk upload scratch buffer reuse
- Chunk sort skip (only re-sort when player moves)
- SVG asset reload (prevents mod icon loss)
- Mouse wheel fix (#9710)
- Creative search cache crash containment
- Shader optimizations (godrays cap, shadow alpha threshold, cloud march reduction, foam grid)
Run .optimum status in the chat to see the current value of every toggle, plus per-optimization hit/skip counters. Run .optimum reset to zero all counters.
Additional commands:
-
.optimum chisel lodstats— Show chisel LOD hit/miss per chunk -
.optimum chisel lodreset— Reset chisel LOD counters
Settings persist to ModConfig/optimum.json in your VS data path. Each toggle, slider and dropdown writes on change. Removing Optimum and reverting to vanilla ignores this file. The client reads the file once at startup, so a full restart is required after editing it.
A few options have no Extra-tab control and are edited directly in ModConfig/optimum.json:
| Key | Default | What it does |
|---|---|---|
MapPageCache |
true |
Enable the map page cache |
MapPageCacheMaxLayers |
128 |
GPU texture-array layers (clamped 16-512) |
MapPageCacheBc7 |
true |
Use BC7 compression when the GPU supports it |
MapPageCachePregen |
false |
Fill unexplored map chunks with approximated terrain |
EntityTesselationFrameBudget |
2 |
Caps dressed-entity re-tesselations per frame, spreading the rest across following frames |
EntityOutfitShapeCache |
false |
Reuses the assembled gear shape and resolved textures for an outfit combination already built once |
EntityOutfitAnimatorCache |
false |
Reuses the built animator (pose graph) across entities sharing an outfit combination |
EntityOutfitTexturePrewarm |
false |
Inserts every outfit variant's textures into the atlas during the loading screen instead of on first encounter mid-gameplay |
ChunkReadPoolEnabled |
true |
Enables the parallel read-only SQLite connection pool for chunk column loading |
ChunkReadPoolWorkers |
4 |
Number of read-only connections in the chunk read pool (clamped 1-8) |
ChunkDeserializeParallel |
true |
Parallelizes chunk deserialization after the pool fetches raw bytes |
ChunkDeserializeParallelMinY |
4 |
Minimum map height before parallel deserialization kicks in |
The four Chunk* settings are the ones the current world-generation troubleshooting guidance asks you to change when terrain generates incorrectly or slowly; test one change at a time with a full client restart between runs.
The four EntityOutfit*/EntityTesselation* settings target the trader/villager re-tesselation stutter (50-230ms single-frame spikes when several dressed NPCs load in at once, e.g. a caravan arriving) and default off pending broader gameplay testing. See Features for the full explanation.