After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 672091 - smooth scrolling could do with some optimizations
smooth scrolling could do with some optimizations
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
3.3.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2012-03-14 20:03 UTC by Sebastien Bacher
Modified: 2014-05-22 02:14 UTC
See Also:
GNOME target: 3.4
GNOME version: ---


Attachments
A spammy IRCd (test case for Empathy) (13.02 KB, text/x-python)
2012-04-07 10:43 UTC, Gaz Davidson
Details

Description Sebastien Bacher 2012-03-14 20:03:29 UTC
The new smooth scrolling support in gtk 3.3.18 is nice but it could do with some optimizations, the current version just generates lot of scroll events and redraws which leads to slow scrolling...
Comment 1 Matthias Clasen 2012-03-19 11:08:37 UTC
Any concrete example ? The examples I see in gtk3-demo seem to work fine...
Comment 2 Sebastien Bacher 2012-03-19 11:20:20 UTC
I don't really notice it here either but my laptop is not slow, Ryan said it's quite noticable in nautilus for him, Benjamin suggested on IRC that GTK needs to do something to reduce number of value-changed events emitted, i.e merge the events in some way
Comment 3 Matthias Clasen 2012-03-19 12:07:09 UTC
I'm not convinced.
Most scrollable implementations only redraw when their x or y position actually changed; not every time the adjustment value changes.
Comment 4 Allison Karlitskaya (desrt) 2012-03-19 12:53:53 UTC
Concrete example from me:

Install F17 on an ExoPC, go into the /etc from that stock install using Nautilus.  Turn on list view.  Use the touchscreen to scroll.

I'd classify this particular use case as "embarrassingly bad".
Comment 5 Alexander Larsson 2012-04-05 14:03:42 UTC
http://git.gnome.org/browse/gtk+/commit/?id=917ca6a802af574232f413fdf904e1633d706b52

I believe this should help here.
Comment 6 Gaz Davidson 2012-04-07 10:43:14 UTC
This also applies to Empathy, Gedit and Evince using my Logitech mouse (has free-wheel mode that can send loads of scroll events when the ratchet is disabled)

Gedit: Open a large document, scroll quickly.

Empathy: I'm attaching a modified hircd which echoes 100 messages for each message received. Run it, connect to localhost, join an IRC channel and type 5 long-ish lines to get 500 lines of spam messages in the channel. Now try quick scrolling.

Evince: Open a large PDF and zoom all the way out. Now try quickly scrolling through the document.
Comment 7 Gaz Davidson 2012-04-07 10:43:43 UTC
Created attachment 211538 [details]
A spammy IRCd (test case for Empathy)
Comment 8 André Klapper 2012-08-20 13:29:15 UTC
(In reply to comment #5)
> http://git.gnome.org/browse/gtk+/commit/?id=917ca6a802af574232f413fdf904e1633d706b52
> I believe this should help here.

seb128: Did that help?
Comment 9 Matthias Clasen 2014-05-22 02:14:40 UTC
lets assume it did