Реестр на 5000 строк тормозит даже после мемоизации и задержки ввода
Реестр документов показывает 5000 строк одним списком с бесконечной прокруткой — постраничную навигацию продукт запретил. Прокрутка рвётся, ввод в поле поиска отзывается с задержкой.
Уже сделано: фильтрация обёрнута в мемоизацию, на поле поиска повешена задержка ввода. Стало немного лучше, но прокрутка по-прежнему дёргается даже без ввода.
Что даст основной выигрыш?
- Увеличить задержку ввода до секунды: рендеров станет меньше, и прокрутка выровняется.
- Обернуть каждую строку в мемоизацию — этого достаточно, чтобы пять тысяч строк рендерились быстро.
- Рендерить только видимые строки и небольшой запас: узкое место — тысячи узлов в документе, а не вычисление фильтра.
- Вынести фильтрацию в фоновый поток через воркер: основной поток освободится от вычислений, и прокрутка станет плавной.
