Details
-
Bug
-
Resolution: Invalid
-
P5: Not important
-
None
-
6.1.2
-
None
Description
On my Lenovo ThinkPad T470p I have a different behavior, depending on whether I use the HDMI port of the docking station or the HDMI port of the laptop.
I have a simple example, where a rectangle can be dragged by the mouse:
import QtQuick 2.15 import QtQuick.Window 2.15 Window { width: 640 height: 480 visible: true title: qsTr("Hello World") Rectangle { width: 100 height: 100 color: "orange" DragHandler { } } }
When the HDMI cable is connected to the laptop directly, there is an annoying latency, when moving a rectangle with the mouse (at takes a few moments until the rectangle moved to the mouse). When the HDMI cable is connected via the docking station, the latency is much lower.
Fast configuration:
> QSG_INFO=1 qmlscene main.qml
qt.scenegraph.general: Using QRhi with backend OpenGL
Graphics API debug/validation layers: 0
QRhi profiling and debug markers: 0
Shader/pipeline cache collection: 0
qt.scenegraph.general: threaded render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
qt.rhi.general: Created OpenGL context QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QColorSpace(), profile QSurfaceFormat::CompatibilityProfile)
qt.rhi.general: OpenGL VENDOR: Intel RENDERER: Mesa Intel(R) HD Graphics 630 (KBL GT2) VERSION: 4.6 (Compatibility Profile) Mesa 20.2.6
qt.scenegraph.general: MSAA sample count for the swapchain is 1. Alpha channel requested = no.
qt.scenegraph.general: rhi texture atlas dimensions: 1024x512
> QSG_RENDER_TIMING=1 qmlscene main.qml ... qt.scenegraph.time.renderloop: [window 0x1055000][gui thread] Frame prepared, polish=0 ms, lock=0 ms, blockedForSync=4 ms, animations=0 ms qt.scenegraph.time.renderloop: [window 0x1055000][gui thread] polishAndSync: start, elapsed since last call: 10 ms qt.scenegraph.time.renderloop: [window 0x1055000][render thread 0x7eff08006c60] syncAndRender: frame rendered in 16ms, sync=0, render=0, swap=16 qt.scenegraph.time.renderloop: [window 0x1055000][render thread 0x7eff08006c60] syncAndRender: start, elapsed since last call: 16 ms qt.scenegraph.time.renderloop: [window 0x1055000][gui thread] Frame prepared, polish=0 ms, lock=0 ms, blockedForSync=11 ms, animations=0 ms qt.scenegraph.time.renderer: time in renderer: total=0ms, preprocess=0, updates=0, rendering=0
Slow configuration:
> QSG_INFO=1 qmlscene main.qml
qt.scenegraph.general: Using QRhi with backend OpenGL
Graphics API debug/validation layers: 0
QRhi profiling and debug markers: 0
Shader/pipeline cache collection: 0
qt.scenegraph.general: threaded render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 33.34 ms
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 33.34 ms
qt.rhi.general: Created OpenGL context QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QColorSpace(), profile QSurfaceFormat::CompatibilityProfile)
qt.rhi.general: OpenGL VENDOR: Intel RENDERER: Mesa Intel(R) HD Graphics 630 (KBL GT2) VERSION: 4.6 (Compatibility Profile) Mesa 20.2.6
qt.scenegraph.general: MSAA sample count for the swapchain is 1. Alpha channel requested = no.
qt.scenegraph.general: rhi texture atlas dimensions: 1024x512
> QSG_RENDER_TIMING=1 qmlscene main.qml ... qt.scenegraph.time.renderloop: [window 0x1b81eb0][gui thread] polishAndSync: start, elapsed since last call: 32 ms qt.scenegraph.time.renderloop: [window 0x1b81eb0][render thread 0x1b74eb0] syncAndRender: frame rendered in 33ms, sync=0, render=0, swap=33 qt.scenegraph.time.renderloop: [window 0x1b81eb0][render thread 0x1b74eb0] syncAndRender: start, elapsed since last call: 33 ms qt.scenegraph.time.renderloop: [window 0x1b81eb0][gui thread] Frame prepared, polish=0 ms, lock=0 ms, blockedForSync=27 ms, animations=0 ms qt.scenegraph.time.renderer: time in renderer: total=0ms, preprocess=0, updates=0, rendering=0
This could be observed with 5.15.2 on Windows and Linux and on 6.1.2.