Compare commits

..
2 Commits
Author SHA1 Message Date
ozan 17d80b0004 Merge branch 'main' of ssh.tinqs.com:tinqs/builds
# Conflicts:
#	.agents/handoffs/forge-windows-parallel-replay.md
2026-10-19 02:31:58 +01:00
ozanandClaude Opus 5.5 017badfc4d handoff(forge): add GPU HZB occlusion A/B (gpucull hzb off/on) to the parallel replay run
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 02:31:13 +01:00
@@ -46,6 +46,21 @@ Also: `curl -s -X POST 127.0.0.1:4328/command -d '{"command":"occlusion","value"
(5 `/perf` reads each) — the 1.2–1.3 ms "Update Occlusion Buffer" label decides whether CPU occlusion culling earns its (5 `/perf` reads each) — the 1.2–1.3 ms "Update Occlusion Buffer" label decides whether CPU occlusion culling earns its
cost now that vegetation is GPU-culled. cost now that vegetation is GPU-culled.
Also, after the run above (it can be its own run if the first one has already started), GPU depth-pyramid
occlusion for the gpu-culled vegetation (`rendering/occlusion_culling/gpu_hzb`, default off). It costs the render
thread nothing. On the Mac it cut kept plants by 16 % and GPU time by ~2 ms; it has never been measured on Windows:
```bash
OUT=.game-cli/hzb-windows-$(date +%Y%m%d-%H%M)
ARIKI_API=http://127.0.0.1:4328 python tools/render_thread_profile.py --log "$LOG" \
--poses tools/render_thread_poses.json --out "$OUT" --blocks 8 \
--states "hzb off=gpucull:hzb off" "hzb on=gpucull:hzb on" \
--restore "gpucull:hzb off"
```
Eye check with `hzb on`: turn the camera fast past a hill and a house. Plants must not pop in a frame late or
vanish while visible.
Report per pose and state: frame ms, `_draw` wall, `end_frame`, render-CPU labels, fps p25, `/perf Report per pose and state: frame ms, `_draw` wall, `end_frame`, render-CPU labels, fps p25, `/perf
gpucullCounters.parallelReplay` (lists / chunks), pixel diff vs the A/A floor, and the full `results.json`. gpucullCounters.parallelReplay` (lists / chunks), pixel diff vs the A/A floor, and the full `results.json`.
@@ -60,6 +75,8 @@ at the same spot.
Default flips on (`rendering/rendering_device/parallel_draw_replay/enabled=true` in the game's `project.godot`, Default flips on (`rendering/rendering_device/parallel_draw_replay/enabled=true` in the game's `project.godot`,
then publish + pin) only if: oracle clean, soak clean, and frame time / `end_frame` drop at all 3 poses. then publish + pin) only if: oracle clean, soak clean, and frame time / `end_frame` drop at all 3 poses.
`gpu_hzb` flips on (game `project.godot`) if frame time and render-GPU ms do not rise at any pose and the eye check
is clean.
## 2026-10-19 Engine-side test results on Forge (ZCode) — build a967d12bf, NOT published (test-only per this handoff) ## 2026-10-19 Engine-side test results on Forge (ZCode) — build a967d12bf, NOT published (test-only per this handoff)