wip(standalone): GPU step 12 -- far evaluator cold use 1704 -> 3 ms; near detail now the floor

Split ordinary far evaluation from near-detail evaluation; [loop] in connector
refinement and skirt clipping. Cold first use: EvaluateFarField 1704 -> 3.3 ms,
connector rings 775 -> 630, skirt emit 948 -> 909, near detail 1783 ms (the
floor). Warm-up still ~2.2 s; whole view CPU 1.351 s vs hybrid 3.210 s.
Output-slot reuse fixed: crossing probe 1/1, 2,226/2,226 tiles. Audits: 0
topology/protected/thin diffs vs CPU and WARP, hashes + walk unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-07 06:51:53 +02:00
1 parent 7f64e2e0aa
commit 05b1523c54
24 files changed
+1033 -66

No files matched your search

+9
View File
@@ -2575,6 +2575,15 @@ float3 Lit=Rock*(Ambient+0.88*Diffuse)+float3(0.50,0.69,0.82)*Head*0.75;
Key.Coord.X,Key.Coord.Y,Key.Coord.Z,Key.Level,
Eligible.empty()||Eligible.back()!=Key?"cpu_fallback":"gpu_eligible");
}
const std::unordered_set<FVoxelTileKey,FStandaloneTileKeyHash> CurrentEligible(
Eligible.begin(),Eligible.end());
for(auto It=GpuFarTiles.begin();It!=GpuFarTiles.end();)
{
if(CurrentEligible.contains(It->first)){++It;continue;}
GpuFarFreeOutputSlots.push_back(It->second.OutputSlot);
ReleaseGpuFarTile(It->second);
It=GpuFarTiles.erase(It);
}
if(RemoteLod3CpuFallbackTiles+RemoteLod4CpuFallbackTiles>0)
std::printf("[GpuRemoteBandFallback] lod3_cpu_tiles=%llu lod4_cpu_tiles=%llu reason=remote_capture_pixel_coverage\n",
static_cast<unsigned long long>(RemoteLod3CpuFallbackTiles),