Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.7.2, 6.8.3
-
None
-
Windows 11, multi-monitor with mixed DPI scaling.
-
-
Windows
Description
-
- Setup:
-
-
- Primary monitor: 4K display (3840x2160 @ 200% scaling).
- Secondary monitor: 1080p display (1920x1080 @ 100% scaling).
- Launch a Qt QML application in fullscreen/maximized mode on the 4K monitor.
- Trigger the issue:
-
-
-
- On the secondary 1080p monitor, open Windows Display Settings.
- Change the primary 4K monitor's resolution to 1920x1080 with 150% scaling.
- Observe:
-
-
-
- In fullscreen/maximized mode:
-
-
-
-
- The application logs:
"The cached device pixel ratio value was stale on window expose. Please file a QTBUG which explains how to reproduce."
- Rendered content (position/size) becomes incorrect.
- The application logs:
- In windowed mode:
-
-
-
-
-
- The application repeatedly logs:
QSGThreadedRenderLoop: expose event received for window QQuickWindowQmlImpl(0x24fea3795e0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(Window), title=screentest, geometry=1069,191 636x479) with invalid geometry: QRect(1069,191 636x479) on QScreen(0x24fe6e5fcd0, name=\\.\DISPLAY1) - Window geometry validation fails despite correct coordinates.
- The application repeatedly logs:
-
- Restore original settings:
-
-
- Cached device pixel ratio fails to update dynamically when display scaling changes.
- In fullscreen/maximized mode: Rendering corruption (position/size mismatch).
- In windowed mode: Repeated QSGThreadedRenderLoop warnings about invalid geometry.
- Errors persist even after restoring original display settings.
Expected Result:
-
- Issue occurs in both fullscreen/maximized and windowed modes with distinct error patterns.
- Workaround: Manually restarting the application temporarily resolves the issue.