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.

Reply via email to