Infraestructura de caché

HotPDF proporciona una caché de memoria ponderada y limitada para objetos intermedios reutilizables, y una caché persistente de páginas renderizadas que usa el renderizado de documentos cargados

Caché de memoria ponderada

THPDFWeightedCache en HPDFCache es propietaria de los valores TObject, los indexa por AnsiString y desaloja los valores usados menos recientemente hasta que su peso combinado se ajusta a MaxBytes

Claves de contenido

function HPDFCacheKeyOfBytes(const Bytes: TBytes): AnsiString;
function HPDFCacheKeyOfStream(Stream: TStream): AnsiString;

Ambas funciones devuelven la misma clave hexadecimal SHA-256 en minúsculas para el mismo contenido

HPDFCacheKeyOfStream calcula el hash sin asignar un segundo arreglo de bytes de tamaño completo, lee los flujos de búsqueda desde la posición cero y restaura su posición original

Caché persistente de páginas renderizadas

Establezca THotPDF.RenderCacheFolder para habilitar el nivel de disco que se usa después de la caché en memoria de páginas renderizadas

Cache de decodificación de imágenes cargadas por shards

Cada instancia de THotPDF coordina la reutilización de decodificación de imágenes cargadas mediante 16 shards de metadatos con bloqueo independiente

Cache de transformaciones ICC

HPDFICC comparte transformaciones completas de origen a sRGB mediante una cache LRU ponderada thread-safe de 64 MiB, incluidos los perfiles de prueba y de salida cuando están configurados

Cache persistente de subconjuntos de fuentes

Defina THotPDF.FontSubsetCacheFolder para habilitar resultados de subconjunto TrueType y OpenType reutilizables mientras EnableFontSubsetting esté activo

PDF.EnableFontSubsetting := True;
PDF.FontSubsetCacheFolder := 'C:\ProgramData\MyApp\HotPDF\FontSubsets';
PDF.FontSubsetCacheMaxBytes := 256 * 1024 * 1024;

Cache persistente de páginas renderizadas

Defina THotPDF.RenderCacheFolder para habilitar el nivel de disco usado tras la cache en memoria de páginas renderizadas

Posesión

APIs relacionadas