wip(standalone): GPU step 29 -- viewer no longer self-resets affinity; per-exe shader bundles; W16; CPU route now fastest
Luna: the viewer reset itself to BelowNormal (since step 3) and 0xFF00 (since step 11)
at startup, overriding the runner; every earlier "full machine" race started on 8 CPUs
until the runner reapplied the mask. Fixed in viewer and agreement runner. Core
worker clamp raised to 16 (W1/W8/W16 hashes identical). Shader binaries now pinned per
executable (precompiled/<exe>/); Step27 control rebuilt from 7d1808f with only the
bundle lookup backported. Tried CPU fallback for skirted near tiles: -0.74 GiB GPU
memory but 2,934-4,086 missing pixels in four remote views, so GPU skirts stay default.
Audits: hashes W1/W8/W16, walk 5,642/5,642, near/far HW+WARP 0 diffs, both survivals
pass (7.00 GiB), ten captures 0 missing pixels.
My runs outside the sandbox (driver cache warm, marker removed first):
0xFFFF Normal: CPU 1.121 / 1.081 / 1.040 s
GPU miss 1.324 s; cached 1.340 / 1.353 / 1.293 s (2,073-2,074 GPU tiles,
timestamps 463-471 ms)
0xFF00 BelowNormal: CPU 1.305 / 1.302 s; GPU cached 1.678 / 1.692 / 1.756 s
Same-session, own shader bundles, 0xFFFF: Step27 GPU cached 1.205 / 1.212 / 1.198 / 1.180 s;
Step29 GPU cached 1.359 / 1.367 / 1.366 / 1.333 s
=> the GPU route now loses to the CPU route by ~0.25 s on the full machine.
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
5aa285c3ef
commit
61106be142
86 files changed
+449
-38
No files matched your search
@@ -304,7 +304,7 @@ namespace VoxelForgeCore
|
||||
auto shape=std::make_unique<FStandaloneShapeWorld>();
|
||||
const bool ok=shape->Build(*impl_->owner,ToNative(request.minVoxel),ToNative(request.maxVoxel),
|
||||
ToNative(request.clipMinVoxel),ToNative(request.clipMaxVoxel),
|
||||
static_cast<int32>(std::clamp<std::uint32_t>(request.workerLimit,1,8)),ToNative(request.detail),
|
||||
static_cast<int32>(std::clamp<std::uint32_t>(request.workerLimit,1,16)),ToNative(request.detail),
|
||||
request.includeFarWorld,error,&scheduler,request.roundTunnels,request.profileDetailBand,
|
||||
request.validatePassageRoutes,request.gpuVisualDetailTiles,
|
||||
request.cpuVisualDetailTiles);
|
||||
@@ -369,7 +369,7 @@ namespace VoxelForgeCore
|
||||
std::vector<std::shared_ptr<FStandaloneShapeWorld>> compiledRegions(pendingRegions.size());
|
||||
std::vector<std::string> regionErrors(pendingRegions.size());
|
||||
const ShapeBuildRequest& base=impl_->buildRequest;
|
||||
const std::uint32_t clampedWorkers=std::clamp<std::uint32_t>(workerLimit,1,8);
|
||||
const std::uint32_t clampedWorkers=std::clamp<std::uint32_t>(workerLimit,1,16);
|
||||
|
||||
if(analyticOnly)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user