** 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
Touch seeded packages, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1598173

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

Status in qtbase-opensource-src package in Ubuntu:
  Fix Released
Status in qtbase-opensource-src source package in Xenial:
  New

Bug description:
  Mouse event compression stopped working in Qt 5, a regression from Qt
  4:

     https://bugreports.qt.io/browse/QTBUG-40889

  The bug was fixed in Qt 5.6 https://codereview.qt-
  project.org/#/c/126136/ where the fix has been thoroughly tested by
  now.

  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).

  [Impact]

  The bug affects any program that relies on the event compression Qt
  normally performs. 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.

  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.

  [Test Case]

  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.

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to