Mam do wyświetlenia tabelkę, około 4tys wierszy po 20 kolumn każda, podzielonych na około 100 kategorii. Wygenerowany HTML to około 3MB. Stronicowanie odpada - ma być wszystko na jednej stronie, bo inaczej ... !

Strona nie wczytuje się super długo - około minuty z localhosta - nie jest też problemem transfer - jaki kto ma, taki ma. Jednak plan jest aby użytkownik wchodząc na taką stronę nie czekał wcale, ot co. Funkcjonalność powinna być taka, że wczytuje się na początku jedna kategoria, potem kolejne - zanim użytkownik przejrzy początek, tyły zdążą się załadować. Coś, co przy ładowaniu 3-megowego HTMLa jest niedostępne, jako że strona okropnie się tnie podczas wczytywania i paskiem nie da się przewijać.
Tyle teorii. Zrobiłem to AJAXem, zakładany spadek prędkości wczytywania został osiągnięty, ale prędkość wyświetlania jest również kiepska. JavaScript ładując kolejne tabelki blokuje w znacznym stopniu płynność działania przeglądarki - efekt jest taki, że przesuwając pasek na chwilę cały ekran przykrywa się bielą i po chwili dopiero pojawiają się spowrotem tabelki (na szczęście te, które miały się pokazać).
Moje pytanie: jak spowolnić cały proces tak, aby wczytywanie szło gdzieś sobie w tle, a użytkownik mógł machać w tym czasie myszką po ekranie do woli?
Albo może zupełnie źle do tego podszedłem? Może ktoś widział taki efekt gdzieś i mógłby podać linka?
Za wszelkie pomysły z góry dziękuję.