diff --git a/.pi/journal.md b/.pi/journal.md index dccd1e9..bf09293 100644 --- a/.pi/journal.md +++ b/.pi/journal.md @@ -553,3 +553,27 @@ pull MidnightLib 1.10.0, jar also dropped in `mods/`). Gamescope integration app - Resume (stop the server first): `cd analysis/client-perf/harness && python3 matrix.py run B4h,B7,B12b --param gc=J0` (20 sessions, ~3.5 h). Then B13 (manual spark), B14 (manual spawn counts), ship, owner report. + +## Session 2026-10-18 — run 2 + B14 done; server back + +Overnight: 23:25 pause (owner) → 01:26 resume timer → matrix run 2 finished 03:18 +(B4h, B7, B12b; all sessions ok after retries) → B7.noshader re-run on default JVM → +B14 defaults + shipped (33 rows each, biome_ok, config check ok) → server up 04:31. +06:00 safety timer saw the server running and left it (its "not Done" warning was a +scrolled-pane false alarm; readiness check now uses port 25565). + +Results (full tables in `analysis/client-perf/RESULTS-proxy.md` §Run 2): +- B4h: smallest heap within spread = **5 GB** (4 GB loses S5) → PLAYER-TUNING note. +- B7: shaders' big cost is S2 — Flywheel backends drop (974 → ~120 fps avg) for every + profile; MakeUp shadowless near-free elsewhere, Complementary ~2× on S4. +- B12b: **Iris Flywheel Compat wins hugely under shaders** (S2 p99 13.3 → 4.0); + **Flerovium wins S3** (entities; B12b's S3 baseline anomalous, so confirm once). + Gnetum tie; BBE, Super Resolution, Ixeris (+1 crash), Cull Leaves rejected. +- B14 (n=1): rule says back off, but driven by one goose/duck herd at the warm-ocean + site; sea bunny never spawned in either config → inconclusive, needs ≥3 runs/config. +- Super Resolution's first launch rewrote bench `fml.toml` (`earlyWindowControl=false`, + unjournaled) → reset. Harness should snapshot/diff the whole config tree per session. + +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. diff --git a/analysis/client-perf/RESULTS-proxy.md b/analysis/client-perf/RESULTS-proxy.md index 5b37935..dc0c954 100644 --- a/analysis/client-perf/RESULTS-proxy.md +++ b/analysis/client-perf/RESULTS-proxy.md @@ -72,7 +72,6 @@ Numbers are p99 ms / 1 % low fps; Δ is vs the block's C1 baseline (+ = better p | B5 | Sable ships 0/1/4 (proxy) | S4 3.00/280.6, 3.12/261.6, 2.97/273.2 | — | ships nearly free on this GPU | | B5 | SSRD 32/64/128, sable-noshade (4 ships) | 3.02/265.0, 3.03/264.7, 3.11/261.9, 3.04/263.0 vs pooled C1 (−8 to −11 fps 1 % low) | loss/noise | keep C1 (SSRD 16, shading on); decay run deferred (fleet P0/P1) | | B6 | ModernFix dynamic_resources off vs on (C1) | S1 9.11/83.8 vs 8.48/98.6; S2 3.29/236.1 vs 3.18/264.0; startup 33.92 vs 26.32 s | dynres on **wins** | ship `modernfix-mixins.properties` **after** the manual missing-texture check | -| B7 | shaders ×4 profiles | no-shader baseline only (S1 8.24/105.3, S2 3.21/266.9, S4 2.53/326.0) | pending run 2 | — | | B8 | Fresh Animations (+Ext) on S3 | 8.65/104.9 (FA), 10.20/89.0 (FA+Ext) vs 4.32/184.6 | large cost | keep opt-in; document in PLAYER-TUNING | | B8 | EMF animation LOD 20 / 8 (with FA) | vs C1-fa (LOD 12) 8.65/104.9: LOD 20 8.91/101.8 (tie), LOD 8 8.16/108.0 (+0.49, +3.1 → win) | LOD 8 wins under FA | optional: LOD 8 for FA users (PLAYER-TUNING note) | | B8 | LambDynamicLights fancy / fastest | 4.41/181.8, 4.35/187.7 vs 4.32/184.6 | tie | keep C1 `fast` | @@ -80,11 +79,79 @@ Numbers are p99 ms / 1 % low fps; Δ is vs the block's C1 baseline (+ = better p | B10 | Sound Physics rays up / strict / no caps (S2s) | 3.69/216.2 (loss), 3.58/233.7 (tie), 3.64/216.9 (loss) vs 3.52/237.6 | loss/tie | keep C1 | | B11 | Sodium 3 builder threads, blend 0/2, mipmaps 4 | all losses except blend 2 (S5 tie); e.g. mip4 S1 8.82/97.6 vs 8.12/104.2 | loss/tie | keep C1 | | B12a | remove BadOptimizations / Particle Core / Sodium Extra | each loses ≥1 scene (e.g. S3 3.93/205.3, 4.63/188.4, 4.61/187.5 vs 3.87/212.5) | keep all | no change | -| B4h, B7 shader rows, B12b | heap ladder, shader profiles, trial mods | — | **pending run 2** | — | -| B13, B14 | spark profile; spawn-tuning counts | — | **pending (manual)** | — | +| B4h, B7, B12b, B14 | see **Run 2** below | | | | +| B13 | spark profile | — | **pending (manual)** | — | + +## Run 2 (2026-10-17/18): B4h, B7, B12b, B14 + +Same machine and method; **default JVM** (run 1's B5–B12a ran on a leaked J3/6 GB JVM — +harness bug fixed in `60e10b3`; within-block verdicts unaffected). Verdicts use the B0 +thresholds (p99 0.40 ms, 1 % low 6.6 fps); one session per row, so treat single-scene +margins near the threshold as soft. Numbers: p99 ms / 1 % low fps. + +### B4h — heap ladder (J0, S2 + S5) + +| heap | S2 | S5 | +|---|---|---| +| 4 GB | 3.58 / 229.1 | 3.32 / 188.7 | +| 5 GB | 3.58 / 238.6 | 3.13 / 209.1 | +| 6 GB | 3.63 / 225.7 | 3.14 / 211.8 | +| 8 GB | 3.58 / 234.5 | 3.18 / 209.2 | + +**Smallest heap within the winner's spread: 5 GB** (S5 1 % low 209.1 vs best 211.8). +4 GB loses on S5 (−23 fps). Heap is a launcher setting, not a shipped config → +PLAYER-TUNING recommendation (≥ 5 GB), not a `build.py` change. + +### B7 — shaders (data for owner; no auto-decision) + +| profile | S1 vegetation | S2 Create floor | S4 airships | +|---|---|---|---| +| none (run-2 re-run) | 8.13 / 103.6 (274 fps avg) | 3.28 / 260.4 (974) | 2.50 / 332.5 (1072) | +| MakeUp shadowless-medium | 8.69 / 97.3 (263) | 12.88 / 67.9 (120) | 2.58 / 314.0 (1050) | +| MakeUp medium | 10.04 / 88.4 (213) | 12.32 / 71.9 (121) | 2.94 / 280.4 (779) | +| Complementary LOW | 10.85 / 83.2 (182) | 13.23 / 64.0 (120) | 4.16 / 205.2 (444) | +| Complementary MEDIUM | 10.92 / 78.5 (175) | 13.27 / 67.4 (118) | 4.33 / 192.8 (401) | + +All shader rows loaded the pack (no `shader_not_loaded`). The dominant cost is **S2**: +any shaderpack makes Flywheel drop its GPU backends, so the Create floor goes from +974 to ~120 fps average (p99 3.3 → ~13 ms) regardless of profile. Elsewhere MakeUp +shadowless is nearly free; Complementary costs ~2.7 ms p99 on S1 and ~2× frame time on S4. +→ Supports **opt-in shaders**, MakeUp first, and **Iris Flywheel Compat** (B12b). + +### B12b — trial mods (each vs its own baseline) + +| 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 | +| 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) | +| Ixeris 4.6.8 | S1 p99 −0.49 (loss), S5 1 % low −12.2 (loss); **one crash** (NPE in `GameRules.getInt` during server tick, retry ok) | reject | +| Cull Leaves 4.1.1 (vs Better Leaves baseline) | S1 tie; S5 1 % low 208.8 vs 217.1 (loss) | reject | + +New mod adds (Iris Flywheel Compat, Flerovium) ⇒ **re-run B0** before any later matrix work. + +### B14 — spawn tuning (defaults vs shipped, 10 min per site, **1 run each**) + +| site | defaults total / tuned | shipped total / tuned | +|---|---|---| +| jungle (−8 107 −201) | 123 / 5 | 118 / 3 | +| river (904 63 88) | 208 / 29 | 208 / 25 | +| warm ocean (−200 63 56) | 155 / 22 | 130 / 0 | + +Automated rule says **back off**, but it is driven by one Fowl Play herd: at the warm-ocean +site defaults spawned 14 geese + 8 ducks (on nearby land/water inside the 128-block +sphere), shipped none; the other "vanished" species (gazelle, dragonfly) had max count 1. +Sea bunny — the warm-ocean target — appeared under neither config, so that site doesn't +exercise it. **Inconclusive at n = 1**: needs ≥ 3 interleaved runs per config (≈ 3 h) +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. ## 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. + - **Single proxy machine.** Fleet machines (P0–P2) were unreachable; the fleet fps floors (P0 1 % low ≥ 30, P1/P2 ≥ 60) don't map to a 7800 XT — every verdict here is relative. B2's "C1 wins on ≥ 2 machines" gate is satisfied on one machine only.