Priority: P3: Somewhat important
Affects Version/s: 5.3.1
Fix Version/s: None
Component/s: GUI: Basic Input System (keyboard, mouse, touch)
Environment:Mac OS X 10.8
These are the conditions to reproduce the problem:
- Qt 5.3.1, Mac OS X 10.8, MacBook Air
- ScrollArea or GraphicsView based widget (scrollable)
- Lots of rendering inside the widget which causes the Qt app to get a slow frame rate
- User performs a two-finger touch based scrolling, but always keeps his fingers on the touchpad. He scrolls for a very short distance, but with a rather high acceleration.
In Qt 4.8 the application does scroll in large steps, due to the low frame rate, but the scroll movement very closely matches the finger movement. Most important, once the fingers stop moving the scrolling also stops.
In Qt 5 this behavior seemed to have changed. The scrolling starts slowely, and even if the user already stopped moving his fingers, the scrolling accelerates and then slows down for a significant time still. It doesn't match the movement of the fingers anymore.
I tried to catch this in video snippets. Even without seeing the finger movement itself, the different can be spotted in there:
Qt 4.8: http://screencast.com/t/ALyIV80O
Scrolling is in larger steps, but immediately stops when the user stops scrolling.
Qt 5.3.1: http://screencast.com/t/Qbzm2XEQ3nJ8
Scrolling is softer, but still continues for quite a while although the user stopped scrolling. Makes it very hard to scroll accurately.
I have also attached the modified version of the Qt Chip sample which I use to make the above videos. This modified version works both with Qt 4.8 and Qt 5.3. You'll need to adjust the number of chips in the MainWindow::populateScene() to the performance of your Mac (to get slow frame rates), but then you should be able to reproduce the problem.
Is there any way to fix this problem, to change the behavior of the scroll gestures back to Qt4 style or to implement an own proper scroll gesture (without tons of effort)?
Thanks in advance for your help.