Stronicowanie mapy referencji krzyżowych
Gdy mapa referencji krzyżowych dokumentu przekracza THotPDF.XRefMapPagingThreshold wpisów (domyślnie 250000, około 8 MB w formie gęstej), przebieg ładowania pakietuje ją w THPDFXRefMapPager i zwalnia gęstą tablicę, więc duże dokumenty przestają utrzymywać każdy wpis w wyrównanej mapie rekordów
THPDFXRefMapPager
Pager przechowuje posortowaną migawkę zapakowanych slotów 24-bajtowych (THPDFXRefMapSlot): numer obiektu, typ wpisu, generację 16-bitową, offset i lokalizację w strumieniu obiektów. GetEntry odpowiada wyszukiwaniem binarnym przez małą 64-wpisową stronę materializowaną według LRU, więc sekwencyjne odpytania dekodują jedną stronę dla wielu wpisów; CollectFreeEntries wyodrębnia zbiór wolnych w porządku numerów obiektów dla przebudowy przy aktualizacji przyrostowej
Diagnostyka i konsumenci
GetLoadedXRefMapPaged raportuje stan stronicowania z liczbą wpisów, bajtami migawki i licznikami trafień lub chybień okna; przebudowa zbioru wolnego przy zapisie przyrostowym i pośrednie rozwiązywanie /Length leniwie materializowanych członków strumieni odpowiadają przez pager, a ustawienie progu na 0 całkowicie wyłącza stronicowanie