Во-первых, немного предыстории:
Я показываю набор данных с 288 строками и 8 столбцами (2304 записи) с помощью ScrollableDataTable, и производительность оставляет желать лучшего. Запрос AJAX, который повторно отрисовывает элемент управления, занимает почти 20 секунд по сравнению с 7 секундами при отображении тех же данных с использованием элемента управления DataTable.
Метрики, полученные с помощью фильтров сервлетов и JavaScript, показывают, что практически все время обработки тратится на стороне клиента. Из 19,87-секундного запроса на сервер тратится 3,87 секунды... и менее 0,6 секунды тратится на запросы и сортировку данных.
Переключение на элемент управления DataTable сокращает цикл запроса, ответа и рендеринга до 1/3 того, что я вижу с помощью ScrollableDataTable, но также удаляет несколько важных функций.
А теперь вопрос:
У кого-нибудь еще были проблемы с производительностью ScrollableDataTable? Каков наиболее эффективный способ рендеринга больших объемов табличных данных в JSF/RichFaces с закрепленными столбцами и двухосевой прокруткой?
Обновление:
В итоге мы написали пользовательский элемент управления. Полный контроль над визуализируемыми компонентами и сгенерированным JavaScript позволил нам добиться времени отклика, сравнимого с DataTable. Я согласен с Заком, хотя разбиение на страницы - правильный ответ.