673 B
673 B
That makes sense. The GUI is likely more responsive because frame staging is now serialized with rendering:
- The background goroutine no longer copies a large frame into Vulkan-mapped memory concurrently with GUI/render work.
- StageFrame waits for the GPU fence before writing, removing CPU/GPU memory contention and undefined synchronization.
- The bridge creates deterministic backpressure: the source cannot begin another frame until the current payload is staged.
- The main thread now controls the complete render sequence instead of coordinating loosely through two channels. So we fixed both correctness and scheduling stability without adding another frame copy.