Согласен, буферизация запроса - это не то, что вы можете сделать.
Вы можете подумать о том, чтобы распределить пользовательский запрос данных по набору HTTP-запросов, анализировать и обрабатывать каждый HTTP-запрос по мере его поступления.
Например, если пользователь хочет запросить записи с 1 по 1000, клиент может сначала запросить записи с 1 по 100, обработать, проанализировать и обработать их, затем запросить записи с 101 по 200 и так далее. Первые 100 записей будут отображаться относительно быстро, а через короткий период будут отображаться следующие 100 записей. Пока вторые 100 записей отображаются до того, как пользователю удалось обработать первые 100 записей, все должно быть в порядке. Общее время выполнения запроса будет больше, однако веб-приложение будет более отзывчивым, а предполагаемое время выполнения задачи будет меньше.
Вам следует также рассмотреть переход с XML на JSON, если вы не просто обновляете свойство innerHTML элемента данными.
Чтобы отобразить пользователю ответ на AJAX-запрос, ответ должен быть сначала проанализирован в структуре данных, а затем обработан. Удивительно, но время синтаксического анализа для XML и JSON практически одинаково. Разница заключается во времени, необходимом для прохождения и чтения полученной структуры данных.
Функции браузера для обхода и доступа к данным в DOM анализируемого ответа относительно медленны. Методы браузера DOM API маскируют сложность процесса обхода DOM и делают медленный процесс красивым и простым.
Доступ к данным в объектах JavaScript, возникающих в результате анализа ответа в формате JSON, выполняется намного быстрее. Обход объекта JavaScript легче в 2-3 раза быстрее, чем обход дерева DOM для того же набора данных.
В недавних тестах, проведенных с FireFox 3.1 beta 2 с использованием 10 МБ исходных данных, обход DOM ответа XML занял около 30 секунд. Выполнение того же для объекта JavaScript, заполненного тем же исходным большим набором данных, заняло около 15 секунд.