Scrolling feels slower than necessary. For a large part this is due to how we handle it now:
we buffer scroll events and wait for a timeout (couple of hundred milliseconds)
when the timeout expires, we switch to a busy state, which pops up a progress indicator and blurs the output
we do a query when necessary, and then render the results.
The consequence of this approach is that every scroll movement feels as if it requires backend action. Even when we have a suitable amount of cached tuples and cells, it still feel slow.
what we should do is:
immediately respond to scroll event, or at the very least shorten the timeout
whatever amount of data we can serve from the cache should immediately be rendered without popping up the spinner
after all scroll events died out, check if are missing tuples/cells, and if necessary, pop up a spinner and do the necessary backend queries.
Scrolling feels slower than necessary. For a large part this is due to how we handle it now:
The consequence of this approach is that every scroll movement feels as if it requires backend action. Even when we have a suitable amount of cached tuples and cells, it still feel slow.
what we should do is: