johnfactotum / foliate

Read e-books in style
https://johnfactotum.github.io/foliate/
GNU General Public License v3.0
5.29k stars 259 forks source link

Option to Disable "smooth scrolling" Feature for Desktop Computers #1221

Closed raymondmack closed 5 months ago

raymondmack commented 6 months ago

First, I would like to congratulate you on what an amazing piece of SW you've made. Foliate is by far the most modern and polished ebook viewer I have ever used. That said, I do have an issue with how the text is moved (i.e. translated downward) when in "Scrolled Mode": When using a keyboard or mouse scroll wheel, the movement of text is both delayed (lags in response to user input) and is painfully slow and blurry looking while transitioning to the new viewing position. I understand that this "smooth scrolling" type feature might make a lot of sense with touch screen devices (e.g. phones, tablets and so on) but on a desktop computer it makes for a frustrating user experience (literally gave me a migraine with how slow and blurry the text is while moving). The system in question has an Intel 11th gen Core-i9 CPU and high end AMD dGPU. So the speed of the computer is not the issue, rather the algorithm used to implement the scrolling feature just makes for poor reading on a desktop computer (and is likely great on touch screen devices). (Admittedly, it might be that my IPS 4k monitor doesn't play well with the intermediate rendered images generated by "smooth scrolling" (making them blurry). But the slowly moving text is obviously independent of HW and half my issue with the feature for desktop use.)

An example of what I hope might be possible to implement is how Firefox works with "smooth scrolling" disabled: movement of the display when reading text inside the browser is crisp (minimal blur when quickly scrolling) and highly responsive (no obvious delay WRT to user input and movement of browser content). Ideally, I would prefer if the text simply "jumped" to the new position as fast as possible with out any intermediate movement across the display as is done currently (i.e., slowly scrolling downward by rendering intermediate positions of the text). This eliminates the blurry text and large lag in response to user input via keyboard or mouse scroll wheel.

A simple on/off button for the "smooth scrolling" feature (or whatever its equivalent being used here is) would make this my preferred ebook reader on every device I use.

johnfactotum commented 6 months ago

From https://gitlab.gnome.org/GNOME/epiphany/-/issues/1765 it seems that we could just disable smooth scrolling. The setting doesn't do anything when using trackpads and touchscreens.