Very slow keyboard navigation in big datatable

Keyboard navigation in datatable works fine for small number of rows OR columns, but becomes very slow when there are many rows AND columns.
It occurs when OS key repeat rate is set to fast.

In the snippet below please resize datatable window to show at least 15 columns and 40 rows (use mini or compact skin), and then try to navigate by pressing down cursor key and keeping it down:

https://snippet.webix.com/ursymn0o

When trying to continuously scroll using keyboard, datatable freezes or becomes very jerky. However, using the scrollbars to scroll datatable provides pretty smooth experience. I guess the reason for that may be that repeated keystroke is received before the datatable updates its view and consecutive keystrokes result in freezes.

I suppose faster computer will provide smoother experience, but still there is big performance gap between using scrollbars and keyboard cursor keys.

To webix team: do you think that behaviour could be improved?

Hello,

I can confirm the issue, however, it is not an easy fixable one.

Webix Datatable uses lazy rendring, which means that only currently visible cells are present in DOM, to speed up its performance.

However, it can slow down navigation, as it is based on selection, so the widget is scrolled cell by cell while the selection marker moves and elements are constantly added and removed from DOM.

do you think that behaviour could be improved

We will investigate into the issue, probably a timeout for repeated key strokes may solve it.

Hi @maug

We fixed the described problem in Webix version 6.4.1.

Great news @Dima_S! Works great now, thanks!