Bug 291740

Summary: scrolling is very sluggish
Product: dolphin Reporter: Martin Koller <kollix>
Component: view-engine: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 2.0   
Target Milestone: ---   
Platform: openSUSE RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.8.0

Description Martin Koller 2012-01-17 07:57:20 UTC
Version:           1.6.1 (using Devel) 
OS:                Linux

The scrolling since 4.8RC version in file views is very sluggish. (regression)
I assume this is due to some animation effect (easing curve) which should "look nice" but in fact it is disturbing. It does not matter whether I scroll with the mouse wheel or with the scrollbar, the view has always a delay and simply does not react directly to my mouse movement.
Please turn this off (or at least if you really really think that anybody wants rather a funny looking scrolling better than a fast reacting software, make it configurable so that I can turn it off).
Thanks.

Reproducible: Always

Steps to Reproduce:
see above


Expected Results:  
immediate scrolling according to my mouse movement.

The movement shall behave naturally, which means: when I move my hand to drag a sheet of paper on my desk, it does this also without any delay, as the paper is directly linked to my hand. This shall also be done with the view as it is in that sense also directly linked to my hand via the mouse.

OS: Linux (i686) release 2.6.34.10-0.4-desktop
Compiler: gcc
openSuse 11.3, KDE 4.8 RC2
Comment 1 Peter Penz 2012-01-17 09:03:46 UTC
Git commit a321e497a9719da1cbb3b40c123166d1dae340a5 by Peter Penz.
Committed on 17/01/2012 at 09:57.
Pushed by ppenz into branch 'KDE/4.8'.

Disable smooth-scrolling dependent on the graphics-effect level

If the graphics-effect-level has been set to NoEffects (systemsettings -> Appearance
-> Style -> Fine Tuning), the smooth scrolling in Dolphin will be disabled.

Additionally the duration for the smooth-scrolling has been decreased from 200 ms
to 100 ms to reduce the lag.

A wrong calculation of the end-value has been fixed that might trigger
a wrong position of the content.
Related: bug 291607
FIXED-IN: 4.8.0

M  +8    -2    dolphin/src/kitemviews/kitemlistsmoothscroller.cpp
M  +3    -1    dolphin/src/kitemviews/kitemlistwidget.cpp

http://commits.kde.org/kde-baseapps/a321e497a9719da1cbb3b40c123166d1dae340a5
Comment 2 Peter Penz 2012-01-17 09:04:20 UTC
Git commit 30ebc03258ac867a04c09feb5e304beb86f657cd by Peter Penz.
Committed on 17/01/2012 at 09:57.
Pushed by ppenz into branch 'master'.

Disable smooth-scrolling dependent on the graphics-effect level

If the graphics-effect-level has been set to NoEffects (systemsettings -> Appearance
-> Style -> Fine Tuning), the smooth scrolling in Dolphin will be disabled.

Additionally the duration for the smooth-scrolling has been decreased from 200 ms
to 100 ms to reduce the lag.

A wrong calculation of the end-value has been fixed that might trigger
a wrong position of the content.
Related: bug 291607
FIXED-IN: 4.8.0

M  +8    -2    dolphin/src/kitemviews/kitemlistsmoothscroller.cpp
M  +3    -1    dolphin/src/kitemviews/kitemlistwidget.cpp

http://commits.kde.org/kde-baseapps/30ebc03258ac867a04c09feb5e304beb86f657cd
Comment 3 Martin Koller 2012-01-17 17:26:55 UTC
I'm using the QtCurve style. In systemsettings there is no "NoEffects" setting in the combobox under "Fine Tuning -> Graphical Effects". I only have some combinations of Low/High display resolution and Low/High CPU.
Also, I can't see what _other_ effects this setting would influence.
Until now I had no need to change that. I'm not sure if this is the best solution to just change the behaviour of dolphin's scrollview alone.
Comment 4 Peter Penz 2012-01-17 17:55:08 UTC
Please use Low-display/Low-CPU (sorry - NoEffects is the internal enum used for this) - this is a general setting for all applications, so that they can adjust e.g. expensive animations or operations. In the scope of Dolphin this setting does not only switch of the smooth scrolling, it also disables all other animations.