docs(perf): add owner report, run-3 results and player tuning notes

This commit is contained in:
logan committed 2026-10-18 14:53:23 -04:00
1 parent c5d25faa7c
commit 4f450e9612
4 files changed
+174 -5

No files matched your search

+18
View File
@@ -577,3 +577,21 @@ Results (full tables in `analysis/client-perf/RESULTS-proxy.md` §Run 2):
Remaining: B6 missing-texture check → ship modernfix-mixins; add Iris Flywheel Compat +
Flerovium (visual check, then `packwiz modrinth add`, then re-run B0); DH low-quality
visual check; B13 spark; B14 ×3 more; ship via build.py; owner report.
## Session 2026-10-18 (b) — shipped, run 3, owner report
- Shipped `7841361`: ModernFix dynamic_resources (enforced config; owner waived texture
check), Flerovium 1.1.2, Iris Flywheel Compat 2.4.0. Deck already had DH LOW.
- **Incident**: 7841361 refreshed the index while alexsmobs/akashictome held boot
re-saves → server packwiz install "Hash invalid" → server down 14:06–14:18. Fixed
`c5d25fa`. Rule: `git checkout -- config/` **before** `packwiz refresh`, not just
before staging.
- Run 3 (chain-0418): B0v2 noise p99 0.41 ms / 1%-low 1.6 fps. **Flerovium did not
hold up** (S1 loss, S3 too noisy) → recommend removal (owner decision pending).
B14 ×4: totals ~flat (jungle 130→128, river 208→212, warm ocean 145→136) → spawn
tuning harmless but ineffective; keep/revert is the owner's call.
- Docs: `analysis/client-perf/OWNER-REPORT.md` (new), RESULTS-proxy §Run 3,
PLAYER-TUNING (5 GB heap; Iris Flywheel Compat under shaders).
- Verified ModernFix honors the shipped override on the server boot log.
- Open: owner decisions (Flerovium, spawn tuning); B13 spark (optional); fleet
confirmation; push when the owner says so.
+99
View File
@@ -0,0 +1,99 @@
# Client performance — owner report (2026-10-18)
Plain-language summary of the Phase 2 benchmarks. Full tables and method:
[`RESULTS-proxy.md`](RESULTS-proxy.md). Player-facing advice:
[`PLAYER-TUNING.md`](PLAYER-TUNING.md). All numbers come from **one stand-in machine**
(Ryzen 9 9900X / RX 7800 XT, 1920×1080), not the fleet machines — see Caveats.
## TL;DR
- The tuned defaults we already ship beat upstream defaults in **every** test scene, and
start the game about 6 s faster.
- This session shipped faster startup (ModernFix dynamic resources, −7.6 s) and a fix that
keeps Create's fast renderer working with shaders on (Iris Flywheel Compat).
- Shaders stay **opt-in**. MakeUp shadowless is nearly free except on big Create builds;
Complementary is expensive. Fresh Animations is the most expensive optional visual.
- Players should give Minecraft **5 GB** of memory — 4 GB is measurably worse, more is not faster.
- Two decisions for you: **remove Flerovium** (its win didn't hold up — I recommend yes), and
**keep or revert the spawn tuning** (harmless, but it doesn't measurably cut mob load).
## What shipped
| Commit | Change |
|---|---|
| `7841361` | ModernFix `mixin.perf.dynamic_resources=true` (enforced `config/modernfix-mixins.properties`); added **Flerovium 1.1.2** and **Iris Flywheel Compat 2.4.0** (both client-only) |
| `c5d25fa` | Fix: `7841361`'s pack index held hashes of server-re-saved spawn configs, so the server's install failed ("Hash invalid") and it didn't start at 14:06. Re-hashed; server up 14:18. Nothing was pushed. |
The Deck tier already uses Distant Horizons' LOW quality preset — the setting that won the
DH test — so no DH change was needed. Nothing has been pushed yet.
## Measured gains
| What | Before | After |
|---|---|---|
| Tuned defaults vs upstream — vista p99 frametime | 9.33 ms | 8.23 ms |
| Tuned defaults vs upstream — mob pen 1 % low | 110 fps | 186 fps |
| Tuned defaults vs upstream — startup | 31.4 s | 25.4 s |
| ModernFix dynamic resources — startup | 33.9 s | 26.3 s (plus better frametimes) |
| Iris Flywheel Compat — Create floor with MakeUp shaders, p99 | 13.26 ms | 3.98 ms |
| Iris Flywheel Compat — same scene, average fps | 117 | 644 |
(Lower p99 = fewer stutters; higher 1 % low = smoother worst moments.)
## Shaders
- Keep them **opt-in** (the pack downloads them; nothing turns them on).
- **MakeUp – Ultra Fast, shadowless profile** is close to free on terrain and airships.
- Without help, every shaderpack turns off Create's fast renderer: the Create floor dropped
from ~974 to ~120 fps average in every profile. **Iris Flywheel Compat**, now shipped, fixes
that (table above). It's an unofficial mod, so it may break when Create or Iris update.
- **Complementary** is costly: about 2.7 ms worse p99 on the vista and about twice the frame
time on the airship scene.
- Shader **shadows corrupt airships** (Iris issue #3164) — recommend shadowless profiles.
## Fresh Animations
Mob-pen p99 goes from 4.32 ms to **8.65 ms** with Fresh Animations, and **10.20 ms** with
the Extensions pack too. Keep it opt-in; Deck players shouldn't use it.
## Memory
**5 GB** is the smallest heap that performed as well as the best. 4 GB lost about 23 fps of
1 % low on the teleport tour; 6 and 8 GB were no better. Players set this in their launcher.
## Spawn tuning
Measured 4 times per config at three biome sites. Total mob counts barely changed
(jungle 129.5 → 128.0, river 208.0 → 211.5, warm ocean 145.0 → 136.0). The tuned species
are a bit rarer, as intended, and nothing really disappeared (the automated "back off"
flag came from species that only ever showed up once per run). **It's harmless, but it
doesn't measurably reduce the load.** No config was changed.
## Decisions needed from you
1. **Remove Flerovium?** Its earlier win was measured against an unusually bad baseline.
On a fair re-test it was worse on the vista and a tie on the mob pen. **Recommended: yes.**
2. **Spawn tuning: keep or revert?** Keeping it costs nothing; reverting returns the mods'
own spawn rates. Either is fine performance-wise.
## Caveats
- **One stand-in machine.** The fleet machines (Steam Deck, 7700K + GTX 1060, 6700K +
1080 Ti) were unreachable, so results are relative and unconfirmed on real player
hardware. This GPU makes some costs (airships, DH distance) look cheaper than they are
on older cards.
- GPU clocks weren't pinned (no root access), which adds a little noise.
- A harness bug ran part of the first run on the wrong Java settings. Comparisons inside
each test are still fair; details in `RESULTS-proxy.md`.
## Not done
- Spark CPU profile of the worst scene (B13).
- Confirmation on the fleet machines.
- The airship decay test (B5), which needs the fleet machines.
## Please report texture problems
ModernFix dynamic resources loads textures and models on demand. We skipped the
missing-texture check at your request, so if anyone sees purple/black "missing" blocks or
items in play, report the block/item name.
+6 -3
View File
@@ -49,7 +49,8 @@ extra in multiplayer. Distant Horizons draws everything beyond that.
## 2. Java memory and garbage collector (Prism → Edit Instance → Settings → Java)
Use **Java 21** (Temurin 21 recommended). More memory is *not* faster: a bigger heap makes
each GC pause longer.
each GC pause longer. Bench (B4h): **5 GB is enough; 4 GB is measurably worse** (tour 1 % low
−23 fps); 6 and 8 GB were no faster than 5. Don't go below 5 GB on any machine.
| Your machine | Max memory (`-Xmx`) | Min memory |
| --- | --- | --- |
@@ -82,8 +83,10 @@ Don't add `-XX:+AlwaysPreTouch` on the Deck or on low-RAM PCs. Don't copy
*Pending the owner's shader policy. Interim advice:* **shaders off** is the pack default.
They cost more in this pack than usual:
- With any shaderpack on, **Create's GPU renderer (Flywheel) switches off**, so every
rotating shaft and machine is drawn the slow way, and drawn again for shadows.
- On its own, Flywheel (Create's GPU renderer) **switches off when any shaderpack is on**.
The pack now ships **Iris Flywheel Compat**, which keeps it working under shaders (bench:
Create floor p99 13.3 → 4.0 ms with MakeUp). It's unofficial, so it may lag behind
Create/Iris updates; if Create machines render wrong with shaders, report it.
- Shader **shadows corrupt airships** (Sable sub-levels; Iris issue #3164).
- Distant Horizons adds a shadow pass over all its terrain.
+51 -2
View File
@@ -5,7 +5,8 @@ P1 7700K+1060, P2 6700K+1080 Ti). Run 1: 2026-10-16 22:25 → ~2026-10-17 05:00
(57 launches incl. one auto-retry), 306/309 capture windows valid. Source:
`~/onion-bench/results/session.jsonl` (`ts >= 2026-10-16T22:24`), verdicts from
`harness/analyze.py --baseline C1 --noise B0 --since 2026-10-16T22:24`.
Run 2 (B4h, B7 shader rows, B12b) is in progress; B13/B14 are manual and not done.
Run 2 (B4h, B7 shader rows, B12b, B14) and Run 3 (new mod set, Flerovium confirmation,
B14 ×4) are below; B13 is not done.
## Method
@@ -123,7 +124,7 @@ shadowless is nearly free; Complementary costs ~2.7 ms p99 on S1 and ~2× frame
| trial | result | verdict |
|---|---|---|
| **Iris Flywheel Compat** 2.4.0 (MakeUp default, vs shader-baseline) | S2 **3.98 / 218.3 vs 13.26 / 65.8** (avg 644 vs 117 fps); S1 9.92 / 84.8 vs 10.23 / 83.8 (tie); S4 3.10 / 266.1 vs 3.01 / 277.6 (1 % low −11.5, loss) | **win under shaders** (restores Flywheel instancing) — add after a visual check of Create contraptions/airships with a shaderpack (unofficial mod; breaks on Create/Iris updates) |
| **Flerovium** 1.1.2 (vs C1) | S3 **3.48 / 229.9 vs 5.71 / 147.4**; S1/S2/S5 tie | **win** on entities — but the B12b C1 S3 baseline (5.71) is worse than every run-1 C1 S3 (4.32–4.46), so the true gain is ~0.9 ms / +45 fps vs run 1. Add after one confirmation pair |
| **Flerovium** 1.1.2 (vs C1) | S3 **3.48 / 229.9 vs 5.71 / 147.4**; S1/S2/S5 tie | **win** on entities — but the B12b C1 S3 baseline (5.71) is worse than every run-1 C1 S3 (4.32–4.46), so the true gain is ~0.9 ms / +45 fps vs run 1. Add after one confirmation pair. **Superseded by Run 3** (did not hold up) |
| Gnetum 3.3.6 | S3 4.41 / 189.3 (vs anomalous 5.71; ≈ run-1 C1) ; S1/S2/S5 tie | tie in practice → no add |
| Better Block Entities 1.3.4 | S2 3.51 / 245.3 (loss), S3 loss; with FA 9.86 / 89.8 vs 9.52 / 87.4 (tie) | reject |
| Super Resolution 0.9.2-alpha.2 | S1 8.74 / 99.7 (loss), S5 1 % low −16.6 (loss) | reject on this proxy (P0-only lever; its first launch rewrites `fml.toml` and demands a restart) |
@@ -134,6 +135,8 @@ New mod adds (Iris Flywheel Compat, Flerovium) ⇒ **re-run B0** before any late
### B14 — spawn tuning (defaults vs shipped, 10 min per site, **1 run each**)
*Superseded by Run 3 (4 runs per config).*
| site | defaults total / tuned | shipped total / tuned |
|---|---|---|
| jungle (−8 107 −201) | 123 / 5 | 118 / 3 |
@@ -148,6 +151,52 @@ exercise it. **Inconclusive at n = 1**: needs ≥ 3 interleaved runs per config
before any back-off; if it persists, the candidate is Fowl Play duck/goose weights.
All runs: 33 count rows, `biome_ok=1`, config check ok.
## Run 3 (2026-10-18): new mod set, Flerovium confirmation, B14 ×4
Same machine and method, default JVM, **new mod set** (shipped in `7841361`: + Flerovium
1.1.2, + Iris Flywheel Compat 2.4.0, ModernFix `dynamic_resources=true`). Numbers are
p99 ms / 1 % low fps, medians of session medians.
### B0v2 — noise floor for the new mod set (C0, S1, 3 sessions)
| p99 | p99 spread | 1 % low | 1 % low spread | avg fps |
|---|---|---|---|---|
| 9.74 | **0.41 ms** | 87.2 | **1.6 fps** | 219 |
These are the thresholds for any later matrix work on this mod set.
### Flerovium confirmation (C1, 2 sessions each, interleaved on/off)
| scene | Flerovium on | Flerovium off | Δ (on vs off) | verdict |
|---|---|---|---|---|
| S1 vista | 8.42 / 99.8 | 8.02 / 105.0 | p99 −0.40, 1 % low −5.2 | **loss** (1 % low drop > 1.6) |
| S3 mob pen | 5.55 / 151.9 | 5.94 / 141.1 | p99 +0.39 (just under 0.41) | **tie / inconclusive** — S3 session spread is huge (p99 1.42–2.34 ms, 1 % low 32–61 fps) |
**The run-2 win did not hold up** (it was measured against an anomalous S3 baseline).
**Recommendation: remove Flerovium** — awaiting owner OK; it is currently shipped in `7841361`.
### B14 — spawn tuning, 4 runs per config
Median final count at 10 min within 128 blocks (total / tuned species):
| site | defaults | shipped |
|---|---|---|
| jungle | 129.5 / 4.0 | 128.0 / 2.5 |
| river | 208.0 / 34.5 | 211.5 / 28.5 |
| warm ocean | 145.0 / 9.5 | 136.0 / 0.5 |
The automated rule says **back off** (snail vanished at the jungle site, gazelle at the warm
ocean), but both peaked at 1 per run — noise, not a disappearance. Sea bunny never appeared
under either config, so this site doesn't exercise it. The warm-ocean tuned drop is mostly
a Fowl Play goose/duck herd. **Verdict: the tuning is harmless but does not measurably
reduce total entity load.** Owner decides keep vs revert; no config change made.
### Shipping incident
`7841361`'s `index.toml` captured hashes of runtime re-saved spawn configs, so the server's
packwiz install failed (`Hash invalid`) at 14:06 and the server didn't start. Fixed by
re-hashing in `c5d25fa` (server up 14:18). Nothing was pushed.
## Caveats
- Run 2: Super Resolution's first launch flipped `earlyWindowControl` in the bench `fml.toml` (not journaled by the harness); later run-2 sessions started with it off. Loading-screen only — frametimes unaffected; startup times after 01:54 are not comparable. Reset 2026-10-18.