https://bugs.documentfoundation.org/show_bug.cgi?id=151206
Bug ID: 151206
Summary: Auto filtering search entry / text input widget should
use a timer-based search activation algorithm to
improve performance
Product: LibreOffice
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Calc
Assignee: [email protected]
Reporter: [email protected]
When you open this heavy sample spreadsheet for example:
https://fortintam.com/public/libreoffice-augustin-benchmark--million-rows-spreadsheet.ods
...if you create an autofilter on column D, and then click the arrow to open
the autofilter GUI, and then try to type "example", you will have to wait a
long time for the UI to unfreeze. This is what I observed with LibreOffice
7.4.x under Linux (Flatpak version from Flathub) on X11.
In extremely large or diverse spreadsheets, the autofilter dropdown GUI widget
is very laggy, probably because it tries to do "too much work, at the wrong
time".
This seems to be the same issue as bug #122419 which was reportedly fixed in
7.1, but I'm still seeing it in 7.4, hence the new report. Perhaps my large
spreadsheet exhibits the problem more vividly.
If LibreOffice tries to filter this GUI's checkboxes elements immediately
everytime you type a character (which is my guess, because the UI *instantly*
locks up as soon as I start typing the first character, without waiting for me
to finish typing), then that would be the reason, guaranteed. In that case, the
trick is to use a generous timeout (ex: 500ms) "after the user stopped typing".
I can swear than 500ms is not too long of a timeout, according to my
calculations and to many many instances of software where I've had this
implemented and saw successful results.
The logic and philosophy can be seen here:
* https://github.com/getting-things-gnome/gtg/issues/281 (fixed, and proven to
have made a huge difference)
* https://github.com/Drive4ik/simple-tab-groups/issues/794 (fixed, and proven
to have made a huge difference)
* https://gitlab.gnome.org/GNOME/nautilus/-/issues/1731 (a good general
argument and theoretical overview of why this is relevant)
* https://gitlab.gnome.org/GNOME/gtk/-/issues/4133#note_1486168 (empirical
proof provided)
* https://gitlab.gnome.org/GNOME/gedit/-/issues/398
--
You are receiving this mail because:
You are the assignee for the bug.