** Description changed:

- A fix for QTBUG-40889 was worked out and submitted at
+ Mouse event compression stopped working in Qt 5, a regression from Qt 4:
  
-     https://codereview.qt-project.org/#/c/115531/
+    https://bugreports.qt.io/browse/QTBUG-40889
  
- but due to coming in a bit late, was moved to Qt 5.6
+ The bug was fixed in Qt 5.6 https://codereview.qt-
+ project.org/#/c/126136/ where it has been thoroughly tested by now.
  
-     https://codereview.qt-project.org/#/c/126136/
+ Attached is a debdiff against 5.5.1+dfsg-16ubuntu7.2 which includes a
+ backport of the 5.6 patch (only one trivial hunk failed, which was
+ easily fixed).
  
- The bug is about mouse motion event compression malfunctioning, and it
- has grave consequences for some applications, where the flood of events
- make rendering sluggish (e.g. anything based on VTK, but probably
- others).
+ [Impact]
  
- ParaView developer Ben Boeckel has tried the patch [2] against 5.5 and
- confirmed it fixes rendering/interaction in VTK applications.
+ The bug affects any program that relies on the event compression Qt
+ normally does. For example, VTK programs (ParaView, Tomviz, ...) do
+ their rendering in response to mouse events during camera movements, and
+ with event compression at the Qt level suddenly gone, camera movements
+ become very slow, since the application is now flooded with mouse events
+ and the rendering lags behind.
  
- It is not possible to work around the bug at the application level in a
- satisfactory way, only by resorting to timer-based rendering.
+ The problem is not limited to these programs however; it can be observed
+ by simply putting two regular, slightly slow-to-render, widgets into a
+ QSplitter and moving the splitter handle. The result is a syrup-like
+ experience as the widgets try to keep up with the onslaught of resize
+ events due to the lack of mouse event compression.
  
- I suggest an SRU to patch the Ubuntu Qt package with the patch that was
- originally meant for the 5.x branch (first URL above). The patch was
- later integrated in 5.6 where it has been well tested.
+ [Test Case]
  
- [1] https://bugreports.qt.io/browse/QTBUG-40889
- [2] 
http://vtk.1045678.n5.nabble.com/Delayed-mouse-interaction-due-to-event-loop-bug-in-Qt5-tp5730474p5732870.html
+ The attached test application can be used to check if event compression
+ is functioning. It performs some artificial work on each mouse move and
+ prints a message. Click and drag the mouse a little. After releasing the
+ mouse, you'll notice that the printouts keeps coming for quite a while,
+ as the program is catching up with the flood of events.
+ 
+ With the attached patch (and with Qt 4), the problem is gone - the mouse
+ event stream is compressed and the printouts are no longer lagging
+ behind.
+ 
+ [Regression Potential]
+ 
+ There's a small risk that some applications have made workarounds for
+ the faulty behavior, and that unwanted behavior is introduced if this
+ bug is fixed. But chances are high that such workarounds will keep
+ working, as the obvious workaround is to do timer based rendering
+ instead of event based. The workarounds will then simply become
+ unnecessary, but shouldn't cause problems.
+ 
+ I'm asking for someone to nominate this bug for an SRU of 16.04 LTS.

** Attachment added: "Test case to demonstrate the bug"
   
https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1598173/+attachment/4841177/+files/qtbug40889.zip

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1598173

Title:
  Please consider SRU of "xcb: Compress mouse motion and touch update
  events"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1598173/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to