Skip to content

FIFO present modes lead to a long wait for semaphores on Vulkan #8310

@mrjbom

Description

@mrjbom

Description
My app suddenly started producing very little FPS when using the Vulkan backend when I returned to it after the weekend. My old versions also stopped working fine.
I expected that this was my local problem with the system and went to check how the wgpu examples work, but they also don't work correctly. I checked how other Vulkan examples work: vulkano and C++ Vulkan examples by Sascha Willems, but they all worked well with the same settings.
The problem only occurs with wgpu when using FIFO or FIFO Relaxed present modes, for some reason the semaphores wait a very long time in some frames.
This problem disappears in RenderDoc, so I couldn't look there.
I don't get any warnings or errors from wgpu or Vulkan validation layers.
I get validation ERRORS in gfxreconstruct replay.

I tried updating and reinstalling the graphics card drivers, I updated Windows, run system checks and disable all Vulkan layers, and use older versions of wgpu. It looks like some kind of my local problem, but as I mentioned above, other programs with Vulkan and the same settings work fine. It seems as if some local things and a bug in wgpu have merged together.

Repro steps
cargo r --release --bin skybox

Expected vs observed behavior
Expected 75 FPS, Observed 25 FPS

Extra materials
skybox_gfxrecon_capture_trim_trigger_20251007T144431.zip
skybox validation errors in gfxrecon replay.txt
skybox in NVIDIA Nsight
Image
Image

Platform
Windows 10, wgpu 27.0.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend: vulkanIssues with Vulkanhelp requiredWe need community help to make this happen.platform: windowsIssues with integration with windowstype: bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions