Quick answer: Vulkan vkWaitForFences blocking too long when multiple frames are in flight? Default timeout is infinite; pipeline backs up - use frames-in-flight tracking with timeout.
Frame N+3 waits for frame N's fence; if N is GPU-bound, the wait stalls CPU.
Limit frames in flight
Pipeline depth = 2. Bounded latency; predictable.
Or use vkWaitForFences with timeout
Non-blocking timeout; bail and use alternative path.
Profile per-frame fence wait
fence wait duration visible. Outliers diagnose backpressure.
“Frames in flight have natural limits. More = more latency.”
If your render pipeline lags, the frames-in-flight tuning is the right knob.