unreal: deeper ready queue keeps the 8 tile workers fed (L95); SW near set 2.37 -> 1.31 s

Unreal per-tile timeline: per-tile Core work is not slower than headless (FI 11.2 vs 16.2 ms
per shared key); the gap was tick-paced admission with a small queue (FI ~5.2 of 8 slots busy).
voxel.StreamingReadyQueueDepth default 16 -> 64 (effective 32 with 8 slots, total cap 40);
result backlog cap 256 unchanged. First admission -> LOD0-2 settled: FI 2.72 -> 2.10 s,
SW 2.37 -> 1.31 s (3 of 4 runs; one 6.9 s outlier re-admitting 3 LOD0 keys, cause open).
apply_ms max 4.2 ms (14 ms budget). Frame-interval max 118-145 ms both before and after (open).
World unchanged. Fast tier PASS; Linux UE host builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-28 08:51:25 +01:00
1 parent 35f0a67fe3
commit 5389abed2e
5 files changed
+682 -5

No files matched your search

+26 -1
View File
@@ -248,7 +248,7 @@ namespace
GVoxelForgeStreamingResultBacklogCap,
TEXT("Maximum queued results plus admitted tile tasks; 0 disables the safety cap. This is separate from the worker-slot cap."));
int32 GVoxelForgeStreamingReadyQueueDepth = 16;
int32 GVoxelForgeStreamingReadyQueueDepth = 64;
FAutoConsoleVariableRef CVarVoxelForgeStreamingReadyQueueDepth(
TEXT("voxel.StreamingReadyQueueDepth"),
GVoxelForgeStreamingReadyQueueDepth,
@@ -7658,6 +7658,31 @@ bool AVoxelWorld::InitializeVoxelForgeCoreWorld(FString& OutFailureReason)
const bool bSnapshotSerialized = VoxelForgeCoreAdapter::SerializeResolvedWorld(
Settings, StrateManager, ActiveCoreClipRadius, ActiveCoreMaxClipLevel,
ActiveCoreVoxelSizeCm, Json, ExportError);
FString CoreSnapshotOutputPath;
if (bSnapshotSerialized
&& FParse::Value(FCommandLine::Get(),
TEXT("voxel.StartupTraceCoreSnapshotFile="), CoreSnapshotOutputPath))
{
CoreSnapshotOutputPath.TrimQuotesInline();
if (!CoreSnapshotOutputPath.IsEmpty())
{
if (FFileHelper::SaveStringToFile(Json, *CoreSnapshotOutputPath,
FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM))
{
VoxelForgeStartupTrace::RecordEvent(TEXT("core_snapshot_export"), FString::Printf(
TEXT("\"path\":\"%s\",\"json_chars\":%d"),
*CoreSnapshotOutputPath.ReplaceCharWithEscapedChar(), Json.Len()));
}
else
{
UE_LOG(LogTemp, Error,
TEXT("[VoxelForgeCoreRuntime] Could not write diagnostic Core snapshot to %s"),
*CoreSnapshotOutputPath);
OutFailureReason = TEXT("diagnostic Core snapshot export failed");
return false;
}
}
}
if (bTraceCoreStartup)
{
const double SnapshotSerializeEndSeconds = FPlatformTime::Seconds();