Paginación del mapa de referencias cruzadas
Cuando el mapa de referencias cruzadas de un documento supera las THotPDF.XRefMapPagingThreshold entradas (250000 por defecto, aproximadamente 8 MB densos), la pasada de finalización de carga lo empaqueta en THPDFXRefMapPager y libera el array denso, por lo que los documentos grandes dejan de retener cada entrada en un mapa de registros alineado
THPDFXRefMapPager
El paginador almacena una instantánea ordenada de ranuras empaquetadas de 24 bytes (THPDFXRefMapSlot): número de objeto, tipo de entrada, generación de 16 bits, desplazamiento y ubicación del flujo de objetos. GetEntry responde mediante búsqueda binaria a través de una pequeña página de 64 entradas materializada por LRU, por lo que las búsquedas secuenciales decodifican una página para muchas entradas; CollectFreeEntries extrae el conjunto libre en orden de número de objeto para la reconstrucción de actualización incremental
Diagnósticos y consumidores
GetLoadedXRefMapPaged informa del estado paginado con recuento de entradas, bytes de instantánea y recuentos de aciertos o fallos de ventana; la reconstrucción del conjunto libre de guardado incremental y la resolución indirecta de /Length de los miembros de flujo materializados perezosamente responden a través del paginador, y establecer el umbral en 0 desactiva la paginación por completo