Skip to content

Screen flickering on Nvidia Optimus #3452

Open
@jsonmona

Description

@jsonmona

Description
Screen flickers (briefly shows white screen) when resizing.

As far as I can test, this only happens with Vulkan backend, and requesting LowPower adapter with nvidia optimus enabled.

  • Using nvidia adapter (by requesting HighPerformance adapter) will eliminate this issue
  • Disabling nvidia adapter will eliminate this issue
  • Using DX12 backend will eliminate this issue
  • Screen refresh rate (60Hz vs 165Hz) is irrelevant

Oddly, I get the same issue whenever I launch Kakaotalk (a Korean messenger app). In that case, the screen goes white without triggering repaint event, causing the app to become stuck on the white screen until the next repaint event occurs.

Repro steps

  1. cargo run --example cube
  2. Keep resizing the window

Expected vs observed behavior
Screen flickers (briefly shows white screen).

Extra materials
Here is a video recording of the issue (contains flashing lights):
video

I do get a single validation error at start, but I believe it's irrelevant because I also get those even when I disabled nvidia adapter.

Platform

  • Windows 11 x64
  • Laptop with Nvidia optimus (Intel iGPU + Nvidia dGPU)
  • wgpu version tested: both current master (42b48ec) and v0.15.0 on crates.io
  • Intel iGPU: 31.0.101.3251 (12th Gen Intel(R) Core(TM) i9-12900H)
  • Nvidia dGPU: 31.0.15.2756 (NVIDIA GeForce RTX 3070 Ti Laptop)

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend: vulkanIssues with Vulkanexternal: driver-bugA driver is causing the bug, though we may still want to work around it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions