Comments 8
при прокрутке мышью за слайдер сообщения и контакты перестают нормально рендериться, а сам слайдер начинает расходиться по позиции с указателем мыши. проверял на FF128
Если нашли дефект или уязвимость, можете завести bug issue https://github.com/djonnyx/ng-virtual-list/issues
@domix32 спасибо за замечание!
Завел дефекты касающиеся работы в FF https://github.com/djonnyx/ng-virtual-list/issues/476 и https://github.com/djonnyx/ng-virtual-list/issues/475
Постараюсь в кратчайшие сроки изучить возможные решения проблем.
Некорректный clip rect это не тот баг, о котором я говорил. На вашем live demo возьмитесь за полосу прокрутки и просто прокрутите её мышью вверх-вниз несколько раз или просто на пол бара сразу крутануть - FPS будет падать до нуля и элементы перестанут отображаться на экране, то есть будет виден только фон и чёрный спайк на fps счетчике

Проблема воспроизводится и в chrome. Падение FPS подсказывает, что это проблемы с производительностью вашего клиппинга/поиска сдвига. Нужно либо это оптимизировать, либо делать какую-то "тормозилку" пользователя., либо лимитировать доступный контекст, а остальное подгружать лениво.
На оптимизацию заведена задача https://github.com/djonnyx/ng-virtual-list/issues/362 по реализации многопоточного режима. После реализации будет понятно, на сколько это поможет в данной ситуации. Дело в том, что это общая "проблема" виртуализированных списков, на небольших объемах элементов решается увеличением буффера. В данном примере хотел продемонстрировать с каким ресурсопотреблением будет визуализироваться большой объем подгруженных сообщений. В реальности как вы правильно подметили должна быть реализована lazy подгрузка чанков сообщений.
Теперь оно хотя бы не в 0 роняет fps. А так нормально вроде.
Изучил момент с критическим падением FPS. Можно ознакомиться настройки буфера для высокого FPS.
В демо поменял настройки буфера на оптимальные. Теперь не должно быть критического падения FPS
Пишем высокопроизводительный вьюпорт для мессенджера