交叉參照表分頁

當文件的交叉參照表成長到超過 THotPDF.XRefMapPagingThreshold 個項目(預設 250000,密集形式約 8 MB),載入完成階段會把它打包進 THPDFXRefMapPager 並釋放密集陣列,大型文件因此不必再於對齊的 record 映射中常駐每個項目

THPDFXRefMapPager

pager 保存打包過的 24 位元組槽位(THPDFXRefMapSlot)排序快照:物件編號、項目類型、16 位元世代編號、偏移與物件串流位置。GetEntry 透過一個以 LRU 具體化的 64 項小頁面做二分搜尋回答查詢,順序查找時一個頁面就能服務多個項目;CollectFreeEntries 則按物件編號順序抽取空閒項目集合,供增量更新重建使用

診斷與消費端

GetLoadedXRefMapPaged 回報分頁狀態,含項目數、快照位元組數與視窗命中/未命中次數;增量儲存的空閒集合重建,以及延遲具體化串流成員的間接 /Length 解析,都改由 pager 回答;把閾值設為 0 則完全停用分頁