Skip to content

Performance regression from "Replace fence with semaphore" #6067

Open
@victorb

Description

Description

When at commit 886dc94f5, running the boids example and clicking inside the window makes nothing happen, as expected. However, if we use the commit after (e5c62fb5b - "vulkan: Replace fence with semaphore when acquiring surfaces (#4967)") and run the same example, now there is noticeable latency for each click.

Originally discovered in a issue in Bevy: bevyengine/bevy#14303

Another user found which wgpu version was affected and which version wasn't: honehone12/bevy_replicon_bootstrap#47

Based on the versions mentioned in bevy_replicon_bootstrap I bisected until arriving at the commit introducing the issue, which is e5c62fb

Repro steps

  • git checkout 886dc94f5

  • cargo +nightly run --bin wgpu-examples boids

  • Observe no lag when clicking

  • git checkout e5c62fb5b (one commit later than 886dc94f5)

  • cargo +nightly run --bin wgpu-examples boids

  • Observe lag when clicking

Expected vs observed behavior

Expected no lag on mouse click, observed lag on mouse click.

Extra materials

Videos demonstrating the issue can be found in the Bevy issue: bevyengine/bevy#14303 (comment)

Platform

So far, seems to only happen on Linux + X11 + Nvidia GPU combo.

Output from wgpu-info

Adapter 0:
                 Backend: Vulkan
                    Name: NVIDIA GeForce RTX 3090 Ti
                VendorID: 0x10DE
                DeviceID: 0x2203
                    Type: DiscreteGpu
                  Driver: NVIDIA
              DriverInfo: 555.58.02
        WebGPU Compliant: true

Metadata

Assignees

No one assigned

    Labels

    area: wsiIssues with swapchain management or windowingbackend: vulkanIssues with Vulkanhelp requiredWe need community help to make this happen.type: bugSomething isn't working

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions