mirror of
https://github.com/HayatoG/iss_pc.git
synced 2026-11-10 10:11:32 -10:00
* Test: BC 1D on NVIDIA (TLG_BC_TINY=auto, promoted BC 1D answers dimension queries as 1D) Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Test script: occlusion and BP09 variants Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Launcher: Advanced screen with the GPU/runtime tuning parameters (switches, numbers, lists) 31 environment-only parameters (synchronisation, threads, readbacks, pipelines, image workarounds, diagnostics) with bilingual descriptions, Automatic/default handling, search, restore defaults and a copyable combination. Choices live in tlg.ini (adv_<name>) and reach the game as ISS_<name> only when changed; the Config: log block shows them. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Test tools: one-round runner, monitor and analyzer for the parameter study Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * GPU: bounded wait for a compiling pipeline (TLG_ASYNC_WAIT_MS) and a faster driver cache save A draw whose pipeline is still compiling in the background used to be skipped at once (missing ground or effects while the shader cache is cold). With TLG_ASYNC_WAIT_MS=N (default 0 = off) it first waits up to N ms for the compile, and the waits of one GPU frame add up to at most TLG_ASYNC_WAIT_FRAME_MS (default 8). The log gets an 'Async wait (total)' line every 5 s. The driver cache is saved every 60 s (TLG_DRIVER_CACHE_SAVE_S, was 180). Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * GPU: bounded wait for a compiling pipeline (TLG_ASYNC_WAIT_MS) and a faster driver cache save A draw whose pipeline is still compiling in the background used to be skipped at once (missing ground or effects while the shader cache is cold). With TLG_ASYNC_WAIT_MS=N (default 0 = off) it first waits up to N ms for the compile, and the waits of one GPU frame add up to at most TLG_ASYNC_WAIT_FRAME_MS (default 8). The log gets an 'Async wait (total)' line every 5 s. The driver cache is saved every 60 s (TLG_DRIVER_CACHE_SAVE_S, was 180). Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Launcher Advanced: async wait and driver cache save parameters Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Tools: shader_index.py, an index of the OrbShdr shaders in the player's own dump Streaming scan of art/cache (.xpps, KCAP + OrbShdr), SQLite index hash -> file/offset/size/stage, lookup, verify against existing shader caches, stats. Reads the dump only; nothing of the game is copied or committed. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * GPU: region trace (TLG_REGION_TRACE=1), step A of the per-region pre-warm Writes region_trace.tsv in the GPU user folder: every .xpps package the game opens (O) and the first request of each graphics/compute pipeline (P), on one monotonic clock, so an offline pass can tell which pipelines each region needs before anything is built on top of it. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * GPU: the bounded wait also covers a shader still being translated A new shader is the usual reason for a skipped draw (its pipeline is only queued once the shader is translated), so GetProgram waits too, within the same per-draw and per-frame budget. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * GPU: region trace records whether a pipeline was ready; the async wait tally is a warning The log keeps warnings and above, so the 'Async wait (total)' line never showed. The region trace's P lines get a fifth column: r = the pipeline existed at its first request, m = it was missing. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Docs and polish: Advanced screen, pre-warm notes, region trace parameter, test variant 8 Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm * Restore the third_party submodule entries (a worktree's symlinks had been committed) Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01BGrrT8Atu6mshYBUh1H1Mm --------- Co-authored-by: HayatoG <[email protected]> Co-authored-by: Claude Sonnet 5.5 <[email protected]>
23 lines
1.1 KiB
Bash
Executable File
23 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Test variants for the GPU study (BC 1D on NVIDIA, occlusion, async wait). Usage: scripts/test_bc1d.sh <1-8> [seconds=7200]
|
|
# 1 = control (as released) 2 = BC 1D decoded on the CPU (TLG_BC_TINY=auto) 3 = BC 1D promoted to 2D (TLG_BLOCK1D=1)
|
|
# 4/5/6 = occlusion mode 0/1/2 (default 3) 7 = every 1D image as 2D (BP09)
|
|
# 8 = bounded wait for compiling shaders/pipelines (8 ms per wait, 16 ms per frame) + region trace
|
|
v=${1:-2}
|
|
export ISS_LANGUAGE=${ISS_LANGUAGE:-17} # pt-BR, like the launcher on this PC
|
|
export TLG_BC1D_LOG=1
|
|
case $v in
|
|
1) ;;
|
|
2) export TLG_BC_TINY=auto ;;
|
|
3) export TLG_BLOCK1D=1 ;;
|
|
4) export TLG_OCCLUSION_MODE=0 ;;
|
|
5) export TLG_OCCLUSION_MODE=1 ;;
|
|
6) export TLG_OCCLUSION_MODE=2 ;;
|
|
7) export TLG_BP09=1 ;;
|
|
8) export TLG_ASYNC_WAIT_MS=8 TLG_ASYNC_WAIT_FRAME_MS=16 TLG_REGION_TRACE=1 ;;
|
|
*) echo "variant 1-8" >&2; exit 1 ;;
|
|
esac
|
|
[[ -n ${SHOTS:-} ]] && export ISS_FRAME_RECORD_TRIGGER=$SHOTS/rec.trigger
|
|
echo "variant $v"
|
|
exec "$(dirname -- "$0")/infamous_run.sh" "${2:-7200}" "${SHOTS:-}"
|