build(release): a shipped pipeline list from most of the game, 11527 pipelines #2029

Merged
jarynclouatre merged 1 commit from build/pipeline-list-more-areas into main 2026-11-11 00:32:37 +00:00
jarynclouatre commented 2026-11-11 00:31:04 +00:00 (Migrated from github.com)

A follow-up to #1935, with play from most of the game added. The PR changes data only, no code.

What changes:

  • assets/pipeline_states.bin.xz is re-made with the tool from #1918:
    python -I nx2/pipeline_states.py --out assets/pipeline_states.bin.xz assets/pipeline_states.bin.xz <my lists>
    
    The current 4,276 come first, then mine, each pipeline kept once.
  • assets/pipeline_states.md notes where the new pipelines came from, and docs/development.md has the new size.
Pipelines Programs
Shipped now 4,276 (4,069 graphics, 207 mesh) 2,238
Mine 7,265 (6,889 graphics, 376 mesh) 4,974
In both 14
Merged 11,527 (10,944 graphics, 583 mesh) 6,672

The overlap is small because my runs had the current list shipped, so they only wrote down pipelines it was missing. The file is 150,108 bytes compressed, up from 56,304.

Where mine comes from: play on Windows 11, RTX 4070 Ti SUPER (driver 621.14), no mods, on builds of main from today (fc375e9 with #1961). Three runs of a scripted route through five areas, and play through most of the overworld and the dungeons, as child and as adult, mostly by day. Like the current list, it holds only hashes, formats and draw state, no game code.

Why it helps: on my route (ten minutes, five first visits), shipping the route's own list instead of the current one cut the pipelines made in play from 1,327 to 124, and the time lost against 60 fps after the first area from 4.3 s to 2.9 s. The new records cover the areas the current list hasn't reached yet.

What it costs: the first start's shader preparation took 361 s on my PC with the merged list, against 302 to 312 s with the current one (three runs), so about 50 s more, once per install or update.

Checked:

  • nx2/pipeline_states.py --check assets/pipeline_states.bin.xz passes.
  • tests/test_pipeline_states.py and tests/test_ship_state_list.py pass.
  • The PR is rebased on current main.
A follow-up to #1935, with play from most of the game added. The PR changes data only, no code. **What changes:** - `assets/pipeline_states.bin.xz` is re-made with the tool from #1918: ``` python -I nx2/pipeline_states.py --out assets/pipeline_states.bin.xz assets/pipeline_states.bin.xz <my lists> ``` The current 4,276 come first, then mine, each pipeline kept once. - `assets/pipeline_states.md` notes where the new pipelines came from, and `docs/development.md` has the new size. | | Pipelines | Programs | |---|---|---| | Shipped now | 4,276 (4,069 graphics, 207 mesh) | 2,238 | | Mine | 7,265 (6,889 graphics, 376 mesh) | 4,974 | | In both | 14 | | | **Merged** | **11,527** (10,944 graphics, 583 mesh) | **6,672** | The overlap is small because my runs had the current list shipped, so they only wrote down pipelines it was missing. The file is 150,108 bytes compressed, up from 56,304. **Where mine comes from:** play on Windows 11, RTX 4070 Ti SUPER (driver 621.14), no mods, on builds of main from today (fc375e9 with #1961). Three runs of a scripted route through five areas, and play through most of the overworld and the dungeons, as child and as adult, mostly by day. Like the current list, it holds only hashes, formats and draw state, no game code. **Why it helps:** on my route (ten minutes, five first visits), shipping the route's own list instead of the current one cut the pipelines made in play from 1,327 to 124, and the time lost against 60 fps after the first area from 4.3 s to 2.9 s. The new records cover the areas the current list hasn't reached yet. **What it costs:** the first start's shader preparation took 361 s on my PC with the merged list, against 302 to 312 s with the current one (three runs), so about 50 s more, once per install or update. **Checked:** - `nx2/pipeline_states.py --check assets/pipeline_states.bin.xz` passes. - `tests/test_pipeline_states.py` and `tests/test_ship_state_list.py` pass. - The PR is rebased on current main.
Commenting is not possible because the repository is archived.
No description provided.