acdream/tests/AcDream.Core.Tests/Rendering/Wb
Erik bf53cb4fce phase(N.4): WbMeshAdapter.Tick — drain WB pipeline queues per frame
Without this, ObjectMeshManager.StagedMeshData and
OpenGLGraphicsDevice._glThreadQueue grow unbounded as background
workers prep mesh data + queue GL actions. Visual stress test of
flag-on at radius 7 showed real FPS drop and rising frame latency
from this leak.

Tick() drains both queues:
1. _graphicsDevice.ProcessGLQueue() applies pending GL state.
2. Loop _meshManager.StagedMeshData.TryDequeue -> UploadMeshData
   to materialize VAO/VBO/IBO for each prepared mesh.

Wired into GameWindow's render loop before draw work begins.
No-op when adapter is uninitialized or disposed.

Pattern matches WB's reference ObjectRenderManagerBase.ProcessUploads
without the prioritization heuristics (we're not yet drawing the
results — Task 22's WbDrawDispatcher will add prioritization when
visual budget matters).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-08 14:24:32 +02:00
..
AcSurfaceMetadataTableTests.cs phase(N.4): AcSurfaceMetadata side-table for WB-pristine surface props 2026-05-08 13:08:56 +02:00
LandblockSpawnAdapterTests.cs phase(N.4) Task 11: LandblockSpawnAdapter (atlas-tier ref-count bridge) 2026-05-08 13:53:38 +02:00
MeshExtractionConformanceTests.cs test(N.4): conformance tests for mesh extraction + setup flatten 2026-05-08 13:14:36 +02:00
PendingSpawnIntegrationTests.cs phase(N.4) Task 14: pending-spawn list integration test 2026-05-08 14:02:30 +02:00
SetupFlattenConformanceTests.cs test(N.4): conformance tests for mesh extraction + setup flatten 2026-05-08 13:14:36 +02:00
WbMeshAdapterTests.cs phase(N.4): WbMeshAdapter.Tick — drain WB pipeline queues per frame 2026-05-08 14:24:32 +02:00