From 4f450e96123a0ac21ed71a2520a9ab7406d9ef1f Mon Sep 17 00:00:00 2001 From: Logan Date: Sun, 18 Oct 2026 14:53:23 -0400 Subject: [PATCH] docs(perf): add owner report, run-3 results and player tuning notes --- .pi/journal.md | 18 +++++ analysis/client-perf/OWNER-REPORT.md | 99 +++++++++++++++++++++++++++ analysis/client-perf/PLAYER-TUNING.md | 9 ++- analysis/client-perf/RESULTS-proxy.md | 53 +++++++++++++- 4 files changed, 174 insertions(+), 5 deletions(-) create mode 100644 analysis/client-perf/OWNER-REPORT.md diff --git a/.pi/journal.md b/.pi/journal.md index bf09293..ad01997 100644 --- a/.pi/journal.md +++ b/.pi/journal.md @@ -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. diff --git a/analysis/client-perf/OWNER-REPORT.md b/analysis/client-perf/OWNER-REPORT.md new file mode 100644 index 0000000..3426f1c --- /dev/null +++ b/analysis/client-perf/OWNER-REPORT.md @@ -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. diff --git a/analysis/client-perf/PLAYER-TUNING.md b/analysis/client-perf/PLAYER-TUNING.md index 827f7ad..bd63b69 100644 --- a/analysis/client-perf/PLAYER-TUNING.md +++ b/analysis/client-perf/PLAYER-TUNING.md @@ -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. diff --git a/analysis/client-perf/RESULTS-proxy.md b/analysis/client-perf/RESULTS-proxy.md index dc0c954..8ac6777 100644 --- a/analysis/client-perf/RESULTS-proxy.md +++ b/analysis/client-perf/RESULTS-proxy.md @@ -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.