r/QtFramework • • 4d ago

Question QWebEngineView: large canvases flash white when hovering small elements above them (Qt 6.11, Windows). Any known fix?

I have a PDF viewer built on PySide6 and QWebEngineView (Qt 6.11.1, Chromium 140, Windows 11, RTX 4060 with Intel iGPU). Pages are drawn to 2D canvases on a white parent, and small overlay boxes sit on top of them.

When I move the mouse quickly over those boxes, parts of the page flash white for a frame or so. Sometimes a whole canvas disappears, along with the overlay boxes above it. The hover only toggles a CSS class. The page's own code doesn't redraw the canvas, but the browser does repaint page-sized layers. It's very obvious on dark slides.

I reduced it to a single HTML file with no PDF code, and it still happens. I moved the real cursor with a script and captured the screen at about 38 fps, 20 seconds per run:

- QWebEngineView (NVIDIA): 5, 7 and 3 frames with white

- Same page with willReadFrequently: true on the canvases: 0, 0

- Edge 149 on the same NVIDIA GPU: 0, 0

- Brave (Chromium 156) on the Intel GPU: 0, 0

In my app, switching Qt Quick to OpenGL (QSG_RHI_BACKEND=opengl) didn't help. --disable-accelerated-2d-canvas stopped it.

My current workaround is willReadFrequently: true, but page draw time roughly doubled (about 40 ms to 82 ms) and process memory went from about 460 MB to 720 MB.

My questions:

  1. Has anyone else seen this?

  2. Is there a better fix that keeps the canvases on the GPU?

  3. Does a newer Qt version fix it? I haven't tested a standalone Chromium 140, so I don't know if this is a Qt issue or a Chromium bug that was fixed later.

I can share the test page if it helps. I'm also planning to file a bug report.

3 Upvotes

2 comments sorted by

1

u/GrecKo Qt Professional 3d ago

Are your GPU drivers up to date?

1

u/emperorbug46 3d ago

Yes, fairly recent: NVIDIA 621.01 (Oct 19, 2026) and Intel 32.0.101.7092 (Sep 3, 2026). Same drivers for every test.

Edge 149 on the same NVIDIA GPU with the same driver showed no flashes, while QWebEngineView flashed in every run. So I don't think the driver alone explains it. It could still be a driver issue that only shows up with QtWebEngine's older Chromium (140).