wip(assembler): round S12 -- short ready queue keeps workers fed between ticks: full set 6.0 s -> 4.9 s
voxel.StreamingReadyQueueDepth=8 admits one extra worker-set of prioritized tasks; voxel.StreamingBackgroundWorkerCap=1 sizes slots to the 8 TaskGraph background workers actually running tile tasks. Full set 5.96 -> 4.91 s, LOD0 1.40 -> 1.09 s, ring 0.49 -> 0.51 s, 40 m/s ring 75/75. Tick p95 +0.6 ms spawn / +0.26 ms walk, max flat. No geometry change. Report: Standalone/Research/WorldAssemblerM3/Round16. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
dd9bfd3217
commit
212814a75c
8 files changed
+554
-36
No files matched your search
+18
@@ -1065,6 +1065,24 @@ cap and output-assembly costs, plus opt-in duplicated LOD8 XY evaluations. The S
|
||||
`--far-horizon-lod8-step=128` restores S9 sampling for the negative control. See ARCHITECTURE §8.31
|
||||
and [`Standalone/Research/WorldAssemblerM3/Round14/REPORT.md`](Standalone/Research/WorldAssemblerM3/Round14/REPORT.md).
|
||||
|
||||
### 3.18 Streaming worker supply and ready queue — World Assembler S12 / M3 Round 16
|
||||
|
||||
`AVoxelWorld::LoadTile` and `LoadCoreTile` retain the existing `UE::Tasks::Launch` background
|
||||
priorities (`BackgroundHigh` for near work, `BackgroundNormal` for horizon work). The shared
|
||||
scheduler now sizes streaming admission to the TaskGraph background worker count by default
|
||||
(`voxel.StreamingBackgroundWorkerCap=1`) and admits a bounded ready queue of up to one worker-set
|
||||
(`voxel.StreamingReadyQueueDepth=8` on the 8-background-worker host). This lets UE dispatch the next
|
||||
already-admitted task as a worker becomes free without waiting for the next actor tick. Setting the
|
||||
worker cap to `0` restores the prior logical-core cap; setting queue depth to `0` restores one-slot-per
|
||||
worker admission. The moving near reserve grows with the ready queue, coarse/horizon work remains
|
||||
under its separate cap, and moving LOD0 admission is limited to the actual worker slots so far work
|
||||
cannot occupy reserved headroom. `bStreamingPlayerMoving` is a game-thread scheduler snapshot used
|
||||
by both admission helpers. `worker_backend_config`, `streaming_worker_cap_readback`, and
|
||||
`scheduler_admission` record the pool counts and effective CVar values. Per-tile trace rows record
|
||||
submit/start/end times and the OS worker thread ID. No tile generation, mesh, density, collision, or
|
||||
Core recipe output changes; recipe versions remain unchanged. See ARCHITECTURE §8.33 and
|
||||
[`Standalone/Research/WorldAssemblerM3/Round16/REPORT.md`](Standalone/Research/WorldAssemblerM3/Round16/REPORT.md).
|
||||
|
||||
## 4. The density pipeline (most-edited hot path)
|
||||
|
||||
### 4.1 `GetDensityWithParams` (TunnelNetwork) — VoxelGenerator.cpp:3749
|
||||
|
||||
Reference in new issue
Block a user